vue使用组件vuetify组件,在v-carousel标签内循环v-carousel-item,并在标签v-carousel-item内写div,让echarts在里面渲染,结果echarts不显示且控制台报错。
<template>
<!-- display: contents; -->
<v-carousel
:show-arrows="false"
v-model="carouselIndex"
@change="indexChange"
style="width: 100%; height: auto"
light
hide-delimiter-background
>
<v-carousel-item
:key="item.chartId"
v-for="(index, item) in chartTypeItems"
:disabled="true"
style="height: auto !important"
>
<div
style="width: 100%; height: 300px; margin-top: 20px"
:id="item.chartId"
></div>
</v-carousel-item>
</v-carousel>
</template>
在执行echarts方式外面包一层 this.$nextTick(() => { });
能够成功渲染出图表且切换轮播图时图表也会改变
找不到getAttribute方法,贴代码出来看看。
思路和你一样,考虑是还没完成echart dom render时执行了init导致的报错
看了下vuetify carousel api,有个change,在change后调用nextTick尝试下?
如有帮助请采纳回答谢谢
报错信息提示这个方法this.$nextTick(() => { });有错误,提示了一个获取不到属性的错误或类型转换错误