element-plus [Component] [carousel, carousel-item] 滚动元素为两个时,会将元素复制一份来实现滚动特效,但是两份相同的元素可能会导致项目出问题

pqwbnv8z  于 6个月前  发布在  其他
关注(0)|答案(3)|浏览(115)

Bug Type: Component

Environment

  • Vue Version: 3.3.4
  • Element Plus Version: 2.4.3
  • Browser / OS: Chrome/119.0.6045.124/Windows NT 10.0 Win64; x64
  • Build Tool: Vite

Reproduction

  • el-carousel
  • el-carousel-item

Element Plus Playground

Steps to reproduce

设置走马灯内只有两个元素,之后查看html里渲染了4个元素,在vue-devtools中查看是在placeholderItem下存在两个复制品实例,也就是两个元素各复制了一份拷贝,猜测是用来实现轮播切换的动画效果所做的处理,但是在我的项目中复制的元素干扰了原本元素的工作,如果是两个以上元素则没有这种问题,请问有没有好的方案来对应呢?

What is Expected?

能够只有两个el-carousel-item元素

What is actually happening?

有四个el-carousel-item元素

Additional comments

(empty)

hrirmatl

hrirmatl1#

我就因为这个在项目中出现了问题,因为元素数据是通过接口获取到的,原元素上数据修改了,被组件复制的元素数据还是没有改变

piv4azn7

piv4azn72#

只有length=2的时候item会double。。没办法只能特殊判断一下,如果length=2,手动复制double就不会有问题了。。

m0rkklqb

m0rkklqb3#

因为这个被坑了,吐血

相关问题