Vue中使用Element 第一次打开el-dialog获取不到id元素的解决办法
第一次点击按钮打开弹窗,获取弹窗中的元素。获取到的元素为空,要打开的第二次才能获取。如下为解决方法:
1.使用setTimeout(() => { }, 0);
console.log(document.getElementById("test2"));
setTimeout(function(){
//需要执行的操作,如获取dom节点
console.log(document.getElementById("test2"));
},0);
结果:
2.$nextTick(callback)
this.$nextTick(function(){
//需要执行的操作,如获取dom节点
});
3.用elementUi dialog的opened事件
<el-dialog @opened="openDialog"></el-dialog>
openDialog(){
///需要执行的操作,如获取dom节点
}
opened事件是dialog完全打开后才执行的操作,数据渲染会有肉眼可见的延迟
非原创 原文链接:https://blog.csdn.net/m0_46129241/article/details/104000599