<el-carousel :height="carHeight" autoplay>
<el-carousel-item v-for="(item, index) in list" :key="item.url">
<img :src="item.url" alt="" :ref="el => (imageRefs[index] = el)" />
</el-carousel-item>
</el-carousel>
import { useResizeObserver } from '@vueuse/core';
const list = ref([]);
const imageRefs = ref([]);
const carHeight = ref(0);
onMounted(async () => {
await getData();
nextTick(() => {
useResizeObserver(imageRefs.value[0], entries => {
const entry = entries[0];
const { height } = entry.contentRect;
carHeight.value = height + 'px';
});
});
});