el-dialog 弹框调用组件,只有第一次弹出调用组件接口,后面弹出不在调用接口问题解决

问题描述

最近在项目开发中遇到了一个问题,从列表点击按钮弹出el-dialog 弹框时,调用了编辑页面组件,关闭弹窗然后点击按钮让el-dialog 弹框出现,发现只能触发一次编辑组件中的mounted钩子里的方法,再次点击弹框出现,就不在走mounted里了。

el-dialog弹框因为是用display:none和display:block来控制显示隐藏的,dom元素不会被删除,所以dialog弹框里面的内容只会初始化的时候创建dom元素渲染页面,如果里面有组件且组件在初始化时候会调用方法,那么这个方法只会在第一次打开弹框时调用!

通常会有需求:组件嵌套在dialog弹框中,希望在父组件中每次打开弹框都会重新执行子组件中mounted中的方法!


解决方案:

el-dialog加上v-if

 <el-dialog 
 	title="密钥管理" 
 	:visible.sync="isAKSKManagementDialogVisiable" 
 	width="1200px" 
 	:close-on-click-modal="false" 
 	v-if="isAKSKManagementDialogVisiable">

问题解决。

参考资料:

el-dialog 弹框调用组件,只有第一次弹出调用组件接口,后面弹出不在调用组件里的接口问题修复
el-dialog弹框里引入的组件只会触发一次组件里面的方法,再次打开不起作用,已解决。

猜你喜欢

转载自blog.csdn.net/migexiaoliang/article/details/126805920