
父组件如何调用子组件的 ref 方法?
在 vue.js 中,父组件可以通过 ref 属性来访问子组件。但是,当子组件被封装在一个表单组件中时,访问其 ref 属性可能会有点棘手。
解决思路:
- 定义一个方法
在子组件的 methods 中定义一个方法,如 resetfields,以调用 ref 的方法。 这使得父组件可以调用这个方法来访问子组件的方法。
立即学习“前端免费学习笔记(深入)”;
- 直接访问嵌套 ref
如果你不想添加一个方法,也可以直接访问嵌套 ref。 但是,这会使得代码变得不那么直观:
this.$refs['formref'].$refs['formref'].resetfields()
示例代码:
子组件代码:
<template>
<el-form ref="formref">
<!-- 表单项 -->
</el-form>
</template>
<script>
export default {
methods: {
resetfields() {
this.$refs['formref'].resetfields()
}
}
}
</script>父组件代码:
<template>
<EForm ref="formRef" @validateForm="validateForm"></EForm>
<!-- 按钮 -->
</template>
<script>
export default {
methods: {
resetForm() {
this.$refs['formRef'].resetFields()
}
}
}
</script>










