vue中使用dialog弹框,echarts图表不显示的解决方案
通过 npm 安装 ECharts后,开始使用出现问题:在dialog中弹框中,echarts图表一直显示为空,使用了网上教程的nextTick方法,但控制台报错“Error in nextTick: "TypeError: Cannot read property 'getAttribute' of null”解决方法:(1)在HTML的dialog中使用“@open="open()...
·
通过 npm 安装 ECharts后,开始使用
出现问题:在dialog中弹框中,echarts图表一直显示为空,使用了网上教程的nextTick方法,但控制台报错“ Error in nextTick: "TypeError: Cannot read property 'getAttribute' of null”
解决方法:(1)在HTML的dialog中使用“ @open="open()"”方法,如下所示:
<el-dialog title="新建"
:modal-append-to-body='false'
:visible.sync="newDialogFormVisible"
@open="open()"
append-to-body>
<el-form :inline="true" size="medium" label-width="80px">
<el-row :gutter="10">
<el-col :xs="24" :sm="24" :md="24" :lg="22" style="text-align:right">
<el-button type="primary" size="small">确定</el-button>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24">
<el-form-item label="样本曲线">
<div id="newEcharts" style="width:500px;height:400px;padding-top:40px"></div>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-dialog>
(2)在script中写法如下:
<script>
export default {
data() {
return {
newVisible: false,
newDialogFormVisible: false,
};
},
methods: {
// 创建方法
initEcharts() {
var echarts = require('echarts');
// 基于准备好的dom,初始化echarts实例
const myChart = this.$echarts.init(document.getElementById('newEcharts'));
// 绘制图表
const option = {
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
xAxis: {
data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
myChart.setOption(option)
},
open(){
this.$nextTick(() => {
// 执行echarts方法
this.initEcharts()
})
}
},
}
</script>
效果如下:
更多推荐
已为社区贡献7条内容
所有评论(0)