这里引用的是 l-echarts 插件(插件市场可以找到)
动态命名的前提是 必须要命名一个正常的l-echarts的标签,写死一个,像这样
<view>
<l-echart ref="chartRefT"></l-echart>
</view>
上面命名正确了,下面的动态添加才生效
<view v-for="(item, index) of list" :key="index">
<view class="total-box">
<l-echart :ref="`chartRef_${Number( index ) + 1}`"></l-echart>
</view>
</view>
我用的是vue3,如果单纯用 const chartRef = ref(null) 的话获取不到ref这个图表的实例
所以用这个方法—— const { ctx } = getCurrentInstance(); 可以获取到实例
通过这种方法才可以 init() 图表
let myChart2 = await ctx.$refs[`chartRef_${ Number(i) + 1 }`][0].init(echarts)
总结下来就是 如果用这个l-echarts组件的话,先写死第一个图表标签,然后先初始化init(),然后在动态赋值ref,利用ctx来获取ref的实例,在进行init方法的初始化,这样就能画出来图表