解决iview的Carousel组件初始加载时无法显示的问题

先看问题:

    

解决iview的Carousel组件初始加载时无法显示的问题

 

开始这一部分内容是隐藏的,所以又一个loading的加载效果,问题出在加载完后Carousel组件部分居然啥都没有.....

???

然后小小的动一下窗口

解决iview的Carousel组件初始加载时无法显示的问题

???

???

然后看一下DOM才发现Carousel的轮播容器没有宽度,但数据是存在div内部的,就是无法正常显示出来。

解决iview的Carousel组件初始加载时无法显示的问题

这个位置是Carousel组件的内部容器,这里在渲染的时候正常情况下应当是有一个总宽度的,而.ivu-carousel-track内的.ivu-carousel-item这个div也是没有宽度的。获取不了宽度,也就无法正常显示。但是问题并不是由这里引起的。

包含Carousel的父组件在初次被渲染时处于隐藏状态,而Carousel也同时被隐藏起来,两个组件无法同时渲染的话,就造成类似的问题,Carousel组件内其实是在正常工作的。

解决方式:

解决iview的Carousel组件初始加载时无法显示的问题

给Carousel加上v-if让二者同时渲染就好啦。

如果有什么不对的地方欢迎指正~~