欢迎光临散文网 会员登陆 & 注册

怪奇笔记:Echarts在VUE3(setup)下失控问题

2022-08-22 08:54 作者:巨型蟹敌  | 我要投稿

Echarts5.X系列在Vue3的Setup写法下,会出现一些莫名的问题,例如tooltip没了,动态formatter无效,resize,dispose,以及返回页面还保留上一轮数据等问题;经trace后,发现是由于Vue3的Proxy机制导致,解决方案也就有了,在操作/绑定ref(reactive)之前,脱离响应即可。正点如下:

在绑定前:

<script setup>

.......

const state = reactive({

    echartInstance: null

})

let chart = echarts.init(ele)

.........

const option = {

    ........[series.options]

}

//重点

chart.setOption(option);

state.echartInstance = chart; //此时可以消除echart初始化时候的一怪奇问题。


绑定后:

//操作前需要脱离响应,本人用的toRaw,理论上unRef也有用吧,不过没试

let chartInstance = toRaw(state.echartInstance);

........各种你要做的操作,包括dispose,resize,时点更新数据等等,顶着这个脱离响应的chartInsance操作就行了。

//打完收工

state.echartInstance = chartInstance;


以上,可能还有更科学的解决方案,欢迎指出。

怪奇笔记:Echarts在VUE3(setup)下失控问题的评论 (共 条)

分享到微博请遵守国家法律