当前位置: 代码迷 >> 综合 >> nextTick(),关于Echarts无法通过表格下拉展示出来的问题
  详细解决方案

nextTick(),关于Echarts无法通过表格下拉展示出来的问题

热度:20   发布时间:2023-11-23 11:15:21.0

文章目录

  • this.$nextTick():将回调延迟到下次DOM更新循环之后执行
    • 理由!!
    • 解决方案:

this.$nextTick():将回调延迟到下次DOM更新循环之后执行

在我们使用Echarts的时候,首先要准备一个容器,有了容器我们才能将它渲染出来

  • 倘若我们要设计一个表格,然后有一个下拉框,点击下拉框的时候展示出我们的echarts【同理,不仅仅是下拉框,后面vue才添加的元素都算
    在这里插入图片描述
    这种效果如果直接在vue函数中实现的话,代码如下:
    html代码
    在这里插入图片描述
    js代码
    在这里插入图片描述

然而这样会有一个错误,echarts加载不出来?
在这里插入图片描述
但是我们点击刷新按钮又可以展现出来了【方法在上面一样】

理由!!

这是因为我们在展开这个下拉框的时候,其实容器并没有准备好,因为我们的点击事件是点击下拉按钮的时候触发,在触发这个事件的时候,dom元素并没有开始渲染,也就是并没有容器,只有在这个事件结束后,dom开始渲染,才开始有容器。

解决方案:

就是现在说到的this.$nextTick()

  • 当我们把渲染echart的方法放到这里面的时候,那么它会在dom渲染完成之后再执行,就达到了我们想要的效果
    *在这里插入图片描述
  相关解决方案