05-06开发问题记录

问题总结

上周开发遇到了一个问题

表象:

​ 通过数组循环生成一个组件列表,在第一个组件写入数据之后,当在数组首位添加一个数据的时候,发现之前首位组件的数据,被渲染到了,新添加的首位组件上。并且之前的首位组件,数据也被清空。

原因: 和组件的Key相关,v-for指令渲染时,会通过key值,进行数据的重新渲染,而我组件列表中,每个组件Key都是使用的数组的下标index。所以如果是从数组首位或其他非尾部的位置插入数据,那么、组件的Key就发生变化了。

解决方案:给每个组件添加了不会变的Key值。如果有操作v-for数据的,则必须保证:key不能发生变化

  1. echarts 问题

表象:

图标第二次加载时候,展示为空白,只有刷新才会展示。

原因:

为缓存原因 ,当echarts实例生成后,第二次执行init方法会失败。

解决方案:

var chart = document.getElementById('lineChart');
//加上这句,第二次初始化时,去掉实例标识
chart.removeAttribute("_echarts_instance_");
myChart = echarts.init(chart);
myChart.setOption(option);
posted @ 2021-08-04 15:06  小L同学  阅读(29)  评论(0编辑  收藏  举报