如何销毁弹框内的子组件

1、用elementUI 的dialog组件(内含图谱子组件)

<el-dialog title="流转图谱" :visible.sync="CheckTreeMapVisible">          
      <org-chart mapType="bizMap" ref="orgChartRef"></org-chart> //子组件
</el-dialog>

2、每次点击页面图谱按钮,获取不同的数据,传入子组件获取不同的图谱
图片描述

图片描述
3、当前存在问题(每次点击获取到图谱信息,但是关闭dialog时候 子组件没有销毁会有上一次的图谱信息)

图片描述

阅读 11.6k
2 个回答

正常逻辑是监听el-dialogclosed事件,在回调内对子组件进行重置操作。
如果子组件没有提供重置接口要销毁的话,试下直接用v-if

<el-dialog title="流转图谱" :visible.sync="CheckTreeMapVisible">          
      <org-chart v-if="CheckTreeMapVisible" mapType="bizMap" ref="orgChartRef"></org-chart> //子组件
</el-dialog>

我发现是子组件内,每次数据变化都会生成一个实例,我更改了逻辑数据变化只会重新渲染;解决了这个问题!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题