项目场景
前段时间公司项目 无意间发现的问题;
当时是使用elementplus 的carousel组件 嵌套 echarts的实现 echarts 轮播的效果;
问题描述
当时一度怀疑 是不是 css 定位写的有问题, 经过 反复注释 排查 发现 el-carousel-item;
当 v-for 中的数据源 长度为2时会出现问题;
<script setup>
const data = ref([{value:1},{value:2}])
</script>
<div class="error">
<h4 class="title">ERROR</h4>
<div class="des">长度等于2时 会出现问题(el-carousel-item v-for="item in 2")</div>
<div>
<el-carousel :autoplay="false" indicator-position="none">
<el-carousel-item v-for="item in data" :key="item.value">
<D>
<template #default>我是一个错误示范{{ item.value }}</template>
</D>
</el-carousel-item>
</el-carousel>
</div>
</div>
解决问题
将数据源 长度 扩展为长度 大于2的数据
<script setup>
const data = ref([{value:1},{value:2}])
</script>
<div class="right">
<!-- 长度大于2时 不会出现问题 -->
<h4 class="title">RIGHT</h4>
<div class="des">长度大于2时 不会出现问题</div>
<div>
<el-carousel trigger="click" :autoplay="false">
<el-carousel-item v-for="item in [data[1],...data,data[0]]" :key="item.value">
<D>
<template #default>别记错了我是对的哟哟{{ item.value }}</template>
</D>
</el-carousel-item>
</el-carousel>
</div>
</div>
以上便是 关于该 bug 的全部描述
如果该内容对您有帮助的话,可以点在收藏谢谢!!!!