<el-dialog>
<MyComponent />
</el-dialog>
自己封装的组件 MyComponent
,放在了el-dialog里面,其中有一段created和mounted之后,定时执行的方法
但是后来怎么调试都无法加载,查阅源码后发现,el-dailog懒加载了
只会在第一次展示之后才会挂在弹窗内部的东西
<div class="el-dialog__body" v-if="rendered"><slot></slot></div>
// element-ui/packages/dialog/src
export default {
mounted() {
if (this.visible) {
this.rendered = true;
this.open();
if (this.appendToBody) {
document.body.appendChild(this.$el);
}
}
},
}
在侵入el-dialog组件的前提下,利用组件的hook事件,强制加载
<el-dialog ref="dialog" @hook:mounted="$refs.dialog.rendered = true">
<MyComponent />
</el-dialog>