IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    react UI组件库antd-mobile中的carousel组件的一些问题

    xiaozhouwu发表于 2017-03-15 13:14:31
    love 0

    代码如下所示:

    class Home extends Component {
        render() {
            const {
                carousels: {
                    value = []
                } = {}
            } = this.props;
            
            return (
                <div>
                    <Carousel className="my-carousel" autoplay={false} infinite>
                        {
                            value.map((item,index) => (
                                <img key={index} src={item}></img>
                            ))
                        }
                    </Carousel>
                </div>
            );
        }
    }
    

    carousels是在Home组件的父组件中通过异步请求获得,然后通过props传到Home组件中的。carousels中的value是一个数组,包含了图片的url。

    现在的话图片加载出来就是Carousel组件的默认高度,只有100px。然后如果自动轮播或者滑动的话图片的高度才会出来。

    我想了一下原因大概是一开始value是空的,然后没有图片,组件就把组件高度设为了默认高度100px,就定死了。当图片的数据传下来以后,因为一开始组件已经把组件高度定死了,就不再自适应图片高度,造成组件高度是默认高度。(这里我也不知道为什么会这样,有人解答一下?)然后当滑动图片的时候,应该是触发了什么条件,让图片自适应了。(这里其实我也不知道为什么,高手解答一下?)

    具体大概是这样:

    我期待的:

    https://cloud.githubusercontent.com/assets/24520863/21448166/77e8fa38-c91a-11e6-9ec1-7162636d4357.png

    然后实际上是这样的: https://cloud.githubusercontent.com/assets/24520863/21448170/80dd2312-c91a-11e6-865b-5cb619d6a083.png

    只有滑动之后或则自动轮播之后才会正常。

    有没有人遇到跟我一样的问题…

    求高手解答,弄了一下午了,好郁闷



沪ICP备19023445号-2号
友情链接