vue2通过$refs调用子组件方法

问题描述

提示:这里简述项目相关背景:

父组件更新筛选项时,需要重置子组件相关参数。使用$refs时使用this.$refs['productCostTableRef'].resetFn('resName') 的写法,发生以下报错:

但是该方法在调用elementui 组件时不会报错。

html 复制代码
<el-popover ref="popover-ref">
</el-popover>
js 复制代码
this.$refs["popover-ref"].doClose(); // 成功执行popover关闭的事件

原因分析:

ref 写在标签上时:this.$refs.名字 / this.$refs['名字'] 获取的是标签对应的dom元素

ref 写在组件上时:这时候获取到的是子组件的引用


解决方案:

使用$ref调用自定义子组件的方法时,要用this.$refs.refName.methodsName();去调用。

另外几种使用情形:

传参时:this.$refs.refName.methodsName('参数值');

获取参数值: this.$refs.refName.dataName

修改参数值: this.$refs.refName.dataName = newData

相关推荐
叉歪2 分钟前
为 UnoCSS 扩展无限色阶与主题换色
前端·css
jiayong2319 分钟前
第 44 课:任务详情抽屉里的评论输入与操作记录联动
前端
ndsc_d20 分钟前
前端实战复盘:用AI直接生成响应式官网落地页与React源码
前端·人工智能·react.js·ui·前端框架·aigc·paico
大家的林语冰1 小时前
✌️ Deno 2.9 来了,ESM 直接导入 CSS,甚至能开发桌面应用?!
前端·javascript·node.js
李顿波1 小时前
前端样式技术发展进程和解析(长期更新版)
前端
不简说2 小时前
JS 代码技巧 vol.1 — 10 个让代码少写 30% 的小套路
前端·javascript·面试
Hilaku2 小时前
为什么业务型前端容易遭遇中年危机?
前端·javascript·程序员
এ慕ོ冬℘゜2 小时前
深度解析 JavaScript:赋予 Web 灵魂的“全栈语言”
开发语言·前端·javascript
iCOD3R2 小时前
Skill - 3秒生成精美GitHub主页
前端·程序员·ai编程
爱勇宝2 小时前
《道德经》第5章:生产环境不相信眼泪
前端·后端·架构