diff --git a/packages/components/carousel/__tests__/carousel.test.tsx b/packages/components/carousel/__tests__/carousel.test.tsx index 3b49a52653..22bba380bc 100644 --- a/packages/components/carousel/__tests__/carousel.test.tsx +++ b/packages/components/carousel/__tests__/carousel.test.tsx @@ -195,4 +195,30 @@ describe('Carousel', () => { await wait(60) expect(items[1].classList.contains('is-active')).toBeTruthy() }) + it('should guarantee order of indicators', async () => { + const data = reactive([1, 2, 3, 4]) + wrapper = mount({ + setup() { + return () => ( +
+ + {data.map((value) => ( + + {value} + + ))} + +
+ ) + }, + }) + await nextTick() + + data.splice(1, 0, 5) + await nextTick() + const indicators = wrapper.findAll('.el-carousel__button') + data.forEach((value, index) => { + expect(indicators[index].element.textContent).toEqual(value.toString()) + }) + }) }) diff --git a/packages/components/carousel/src/carousel.vue b/packages/components/carousel/src/carousel.vue index 301e1bfee3..ab9047fbda 100644 --- a/packages/components/carousel/src/carousel.vue +++ b/packages/components/carousel/src/carousel.vue @@ -64,7 +64,7 @@