vue element-ui 第一次打开Dialog 对话框无法显示内容 第二次正常显示
问题描述:
今天需要使用Dialog 弹框中加载video视频显示,问题如下
第一次点击弹框可以正常显示 但是内容不加载 报错 第二次可以正常显示内容也加载
问题原因:
出现这个问题的原因是js加载了 但是Dialog 的dom并没有加载完全导致js报错所以不加载
查看官方文档解释如下:
Dialog 的内容是懒渲染的,即在第一次被打开之前,传入的默认 slot 不会被渲染到 DOM 上。因此,如果需要执行 DOM 操作,或通过 ref 获取相应组件,请在 open 事件回调中进行。
说的方案 搞了半天也没搞清楚 没有实现 想要的效果
想到文档说Dialog 的内容是懒渲染就想着用定时器来做个延迟加载这样就等待dom加载完成在执行js 就行了
直接上解决方案:
setTimeout(() =>{
要延迟的代码
},延迟时间);
问题完美解决 在做个loading加载显示 完美解决问题