首先今天一直在纠结为什么dialog明明显示了却不显示二维码,直到第二次打开dialog才显示,原来确实如我同事所说,一开始并没有选中相应的容器,原因是dialog的加载需要时间,我用了定时器试一下发现在多久时间之后在执行二维码的渲染事件就可以,这样让我了解其真正的原因。
解决方案如下:
1.当点击按钮,让dialog显示界面的事件如下
lookAdClick(ggwId) {
this.QRcode.ggwId = ggwId;
var _this = this;
this.QRcode.qrLoading=true;
this.QRcode.dialogVisible = true;
// window.setTimeout(this.qrCode,200)
// this.qrCode();
},
2.Dialog 打开的回调事件
open
所以在dialog上定义该事件
<el-dialog
title="查看广告内容"
:visible.sync="QRcode.dialogVisible"
:close-on-click-modal="false"
width="350px"
height="520px"
@open=