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。

相关推荐
陈随易8 小时前
Rolldown 把插件改动回传提速 26 倍
前端·后端·程序员
笃行35015 小时前
集中式与分布式,KingbaseES 的四种形态共用一套内核
前端
陈随易16 小时前
Vue 编译器换掉 source map,快了三四成
前端·后端·程序员
ZhengEnCi18 小时前
12 种高级 UI 交互效果及对应 AI 提示词:从按压回弹到底部抽屉的物理感教学
前端·css·交互设计
IT_陈寒20 小时前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
用户27050777252421 小时前
MCP 最小 Server 实测:3 个 JSON-RPC 报错与修法
前端
用户4993350250721 小时前
一人VIP账号多人共用:Web 代理里的会话共享怎么实现
前端
用户老李21 小时前
无线电自学教程 05:第一台收音机——从矿石机到 SDR
前端
IPIPD21 小时前
Node.js请求遇到503怎么重试?先解析Retry-After,再做有上限退避
前端
葡萄城技术团队21 小时前
dsh-spreadjs-editor 的集成链路:把 SpreadJS Designer 嵌进 Agent 工作台
前端