el-dialog弹窗的@open方法中,第一次引用ref发现undefined题目,第二次背面 ...

打印 上一主题 下一主题

主题 809|帖子 809|积分 2427

解决方法
直接不用这个@open方法,转而用@opened,代码例子:
  1. <el-dialog title="单个新增" :visible.sync="PlacardShowSingle" @opened="openpbSingle()" width="1100px" top="1%" :close-on-click-modal="false">
  2.     <div style="margin:20px; margin-top: -20px;">
  3.         <PbscheduleSingle ref="PbscheduleSingle"></PbscheduleSingle>
  4.     </div>
  5. </el-dialog>
复制代码
方法例子:
  1. //弹窗完全挂载dom后再调用
  2. openpbSingle() {
  3.     // 调用PbscheduleSingle组件的方法QueryPublishNumberQuantity
  4.     this.$refs.PbscheduleSingle.QueryPublishNumberQuantity();
  5. },
复制代码
环境大抵是:
1.第一次打开没调用组件内部方法,发现是undefined,@open 在对话框打开之前触发,并且ref="bscheduleSingle",这个ref没挂载在dom,天然无法获取到相应的方法。
2.第二次打开,由于第一次打开,ref已经挂载在dom了,以是一切又正常了
3. @opened 在对话框完全打开之后触发,组件已经完全挂载,以是不会出现undefined的错误。

另有其他方法可以解决,但是这个应该是最简洁明白的吧。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

水军大提督

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表