vue2+echarts:echarts在dialog弹框中不显示的解决方案

重点是@open方法里使用$nextTick拿到最新的dom,在里面加载echarts

javascript 复制代码
//html
<el-button @click.stop="getIfStorage"></el-button>

<el-dialog title="图表数据" :visible.sync="ifStorageShowOpen" @open="open()" width="1400px" append-to-body>
  <div id="chart" style="height: 600px" ref="chart"></div>
</el-dialog>


//data
 ifStorageShowOpen: false,
 chart: null,// echarts图表实例


//js
 getIfStorage () {
    this.ifStorageShowOpen = true
 },
 open () {
    this.$nextTick(() => {
      this.initChart();
    })
 },
  // 初始化echarts
 initChart () {
    this.chart = this.$echarts.init(this.$refs.chart)
      // 设置图表option(配置项)绘制图表
      // 绘制图表
      this.chart.setOption({
        title: {
          text: '商品销售数据'
        },
        tooltip: {},
        xAxis: {
          data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
        },
        yAxis: {
          type: 'value'
        },
        backgroundColor: '#dddddd',
        color: ['#72ccff', '#d4a4eb'],
        series: [
          {
            name: '销量',
            type: 'bar', // 柱状图
            data: [5, 20, 36, 10, 10, 20]
          },
          {
            name: '利润',
            smooth: true,
            type: 'line', // 折线图
            data: [2, 23, 5, 54, 9, 33]
          }
        ]
      })
  },

上一篇文章,

uniapp踩坑之项目:uni-app实现下拉框多选_uniapp 多选-CSDN博客文章浏览阅读881次,点赞5次,收藏5次。uniapp踩坑之项目:uni-app实现下拉框多选。一、首先创建组件,二、将组件引入单页面使用_uniapp 多选https://blog.csdn.net/weixin_43928112/article/details/138559471?spm=1001.2014.3001.5501

相关推荐
源码获取_wx:Fegn0895几秒前
基于springboot + vue图书商城系统
java·vue.js·spring boot·后端·spring·课程设计
颜颜yan_3 分钟前
DevUI零基础入门教程:5分钟快速上手Vue DevUI组件库
前端·javascript·vue.js
JELEE.3 分钟前
Vue3复习笔记
vue.js·笔记·vue
武藤一雄4 分钟前
[WPF] 万字拆解依赖属性与附加属性
前端·microsoft·c#·.net·wpf
羊吖4 分钟前
Vue文件预览组件实战:高性能懒加载
前端·javascript·vue.js
代码or搬砖5 分钟前
如何创建一个vue项目(详细步骤)
前端·javascript·vue.js
赛贝维权申诉6 分钟前
亚马逊爆款美国外观专利落地,家居/儿童/宠物等品类亚马逊卖家谨防侵权投诉!
前端·javascript·宠物
Howe~zZ10 分钟前
mybatis 报错解决方案ORA-01795: maximum number of expressions in a list is 1000
java·服务器·前端
代码or搬砖11 分钟前
使用nvm管理node多版本
vue.js·node.js
yuguo.im12 分钟前
【译】Vuejs: 使用带有对象的 v-model 来创建自定义组件
前端·javascript·vue.js