echarts.min.js:45 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'getAttribute')
时间: 2023-08-17 08:14:05 浏览: 133
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
问题: 在Vue中使用ECharts时出现了报错Uncaught (in promise) TypeError: Cannot read properties of null (reading 'getAttribute'),该如何解决?
回答: 这个报错通常是由于ECharts没有找到可以渲染图表的DOM元素导致的。在Vue中,使用v-if和v-else属性的一组元素并不会同时挂载在DOM树上,只有满足条件的元素才会被挂载和渲染。因此,如果在条件切换时,ECharts实例对象尝试将图表绘制在不存在的元素上,就会出现这个报错。为了解决这个问题,你可以在绘制图表的代码中,确保DOM元素存在时再进行图表的初始化和渲染。例如,你可以使用类似下面的代码来确保DOM元素存在后再初始化ECharts实例对象并绘制图表:
```javascript
let radarChart = null;
// 在DOM元素存在时初始化ECharts实例对象
if (document.getElementById('taskview-radar')) {
radarChart = this.$echarts.init(document.getElementById('taskview-radar'));
window.addEventListener('resize', () => {
radarChart.resize();
});
radarChart.setOption(options);
}
```
这样,当满足条件时,ECharts实例对象才会被正确地初始化和渲染图表,避免了报错的发生。同时,你也可以根据具体的需求进行相应的调整和优化。
#### 引用[.reference_title]
- *1* *2* *3* [Vue中使用ECharts报错echarts Uncaught (in promise) TypeError: Cannot read property ‘getAttribute‘ ...](https://blog.csdn.net/baoyin0822/article/details/119794748)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文