el-dialog弹窗的@open方法中,第一次引用ref发现undefined问题,第二次后面又正常了

解决方法

直接不用这个@open方法,转而用@opened,代码例子:

复制代码
<el-dialog title="单个新增" :visible.sync="PlacardShowSingle" @opened="openpbSingle()" width="1100px" top="1%" :close-on-click-modal="false">
    <div style="margin:20px; margin-top: -20px;">
        <PbscheduleSingle ref="PbscheduleSingle"></PbscheduleSingle>
    </div>
</el-dialog>

方法例子:

复制代码
//弹窗完全挂载dom后再调用
openpbSingle() {
    // 调用PbscheduleSingle组件的方法QueryPublishNumberQuantity
    this.$refs.PbscheduleSingle.QueryPublishNumberQuantity(); 
},

情况大致是:

1.第一次打开没调用组件内部方法,发现是undefined,@open 在对话框打开之前触发,并且ref="PbscheduleSingle",这个ref没挂载在dom,自然无法获取到相应的方法。

2.第二次打开,由于第一次打开,ref已经挂载在dom了,所以一切又正常了

  1. @opened 在对话框完全打开之后触发,组件已经完全挂载,所以不会出现undefined的错误。

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

相关推荐
H_ZMY20 小时前
前端瀑布流布局:从基础实现到高性能优化全解析
前端·性能优化
jin42135220 小时前
基于React Native鸿蒙跨平台一款阅读追踪应用完成进度条的增加与减少,可以实现任务的进度计算逻辑
javascript·react native·react.js·ecmascript·harmonyos
星夜落月20 小时前
从零部署Wallos:打造专属预算管理平台
服务器·前端·网络·建站
qq_124987075320 小时前
基于html的书城阅读器系统的设计与实现(源码+论文+部署+安装)
前端·vue.js·spring boot·后端·mysql·信息可视化·html
方安乐20 小时前
react笔记之useLayoutEffect
javascript·笔记·react.js
cn_mengbei20 小时前
React Native + OpenHarmony:useState延迟初始化
javascript·react native·react.js
新技术克20 小时前
高级进阶 React Native 鸿蒙跨平台开发:NativeEventEmitter 原生事件发射器
javascript·react native·react.js·harmonyos
一个懒人懒人20 小时前
mysql2连接池配置与优化
前端·mysql
PorkCanteen20 小时前
Cursor使用-从问题到解决方案(以及一些通用rules)
前端·ai·ai编程
Beginner x_u21 小时前
JavaScript 中浅拷贝与深拷贝的差异与实现方式整理
开发语言·javascript·浅拷贝·深拷贝