欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

element-ui走马灯使用心得

发布时间:2024/1/8 编程问答 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 element-ui走马灯使用心得 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

问题一:只有两个图片时滚动顺序错误

解决办法:复制一份单独处理[1,2,1,2]

代码:

<el-carousel indicator-position="none" arrow="never" :interval="3000" ><el-carousel-item v-for="(myitem, myindex) in item.fileList" :key="myindex"><img :src="myitem.filePath" style="width:100%;height:100%"/></el-carousel-item><div v-if="item.fileList.length==2"><el-carousel-item v-for="(myitem, myindex) in item.fileList" :key="myindex"><img :src="myitem.filePath" style="width:100%;height:100%"/></el-carousel-item></div></el-carousel>

问题二:在分页的时候轮播顺序不一致

解决办法:每次更新数据使用 key 来重置dom

  <div class="list-main" :key="carouselUpdate"></div>

getdata() {

        this.carouselUpdate+=1;

}        

问题三:鼠标移入时不停止轮播

解决办法:清除原本的鼠标移入事件 

@mouseenter.native="delHandleMouseEnter(index)"

<el-carousel ref="carousel" indicator-position="none" arrow="never" :interval="3000"  :height="carousHeight" @mouseenter.native="delHandleMouseEnter(index)"> <div v-if="item.imgTxt && item.imgTxt.length>0"><el-carousel-item v-for="(myitem, myindex) in item.imgTxt" :key="myindex"><img v-if="myitem.filetype=='.jpeg'" :src="myitem.filepath"  width="100%" height="100%"/><vue-core-video-player v-else preload="nona" :controls="false" :autoplay="false" :src="myitem.filepath"></vue-core-video-player></el-carousel-item></div><div v-if="item.imgTxt && item.imgTxt.length==2"><el-carousel-item v-for="(myitem, myindex) in item.imgTxt" :key="myindex"><img v-if="myitem.filetype=='.jpeg'" :src="myitem.filepath" width="100%" height="100%"/><vue-core-video-player v-else preload="nona" :controls="false" :autoplay="false" :src="myitem.filepath"></vue-core-video-player></el-carousel-item></div><div v-if="item.imgTxt && item.imgTxt.length==0"><el-carousel-item v-for="(item,index) in 4" :key="index"><img src="https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg" width="100%" height="100%"/></el-carousel-item></div></el-carousel>

// 鼠标移入卡片banner不停止

delHandleMouseEnter(index) {

      this.$refs.carousel[index].handleMouseEnter = () => {}

},

为了第一次鼠标进入就触发,需要在mounted方法中写,而且轮播图是多张,所以需要循环遍历index,经过尝试在mounted的时候获取不到dom,可在数据更新后且dom重置后再进行操作。

getdata() {

        this.carouselUpdate+=1;

        this.$nextTick(e=>{

              this.$refs.carousel.forEach((item, index) => {

                this.$refs.carousel[index].handleMouseEnter = () => {}

              })

          })

}        

问题四:轮播区域高度自适应

解决办法:vue监听页面缩放(另一博文)

总结

以上是生活随笔为你收集整理的element-ui走马灯使用心得的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。