反应光滑滑动高度问题

时间:2018-04-19 18:56:21

标签: css reactjs height carousel react-slick

我无法将这些React-Slick滑块组件设置为相同的高度。它们都是响应式div并随着页面大小的变化而相应调整大小,但我理想的是希望左侧的div与右侧的div相同。

picture that shows differing heights of divs in React-Slick slider

我使用下面的代码片段定义了我的SimpleSlider。

class SimpleSlider extends React.Component {
  constructor(props) {
    super(props);
    ...
  }
  render() {
    let settings = {
      dots: true,
      infinite: true,
      arrows: true,
      speed: 500,
      slidesToShow: 2,
      slidesToScroll: 2,
      initialSlide: 0,
      responsive: [...]
    };
    let Components = this.sliderObjects.components;

    return (
      <div>
        <h2> {this.sliderObjects.title} </h2>
        <Slider {...settings} >
        {
          Components.map((component,index)=>
           <div key={index}  >
            <SliderComponent key={index} {...component} />
            </div>
            )
        }
        </Slider>
      </div>
    );
  }
}

然后我的SliderComponent被定义为

class SliderComponent extends React.Component{
  render() {
    return (
      <div className='slick-slider-component'>
            <h3>{this.props.header}</h3>
            <p>{this.props.text}</p>
      </div>
    );
  }
}

任何人都可以帮我吗?感觉应该是可能的,而不是非常困难,但我无法弄清楚。

1 个答案:

答案 0 :(得分:0)

如果您知道最大高度,可以使用一些minHeight(或css中的最小高度)设置SliderComponent的样式。 你可以找到一些input here.

如果您不知道: 在您的componentWillMount中挂钩:

componentDidMount() {
    const height = document.getElementById('slidercomponent-id').clientHeight;
    this.setState({ height });
  },

并将此高度设置为div中的高度。