1.首先,echarts点击事件一般写法为:
myChart.on("click", function (params){
console.log(params); //柱状图点击事件
this.dialogVisibleA = true;
});
这种写法的问题在于点击事件用的是funtion,因为用了funtion后事件里的this指向就不是原来的指向了,所以即便this.dialogVisibleA的输出结果是true也不会触发打开弹窗
2.解决方案:
首先在el-dialog弹出框上加上append-to-body,然后将function改为=>写法
<el-dialog
title=""
:visible.sync="dialogVisibleA"
append-to-body
@close="closeDialog"
class="class_dialog_hospital"
>
myChart.on("click", (params) => {
console.log(params); //柱状图点击事件
this.dialogVisibleA = true;
});
(还有另一种解决方案,就是在定义that=this,也可解决)