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