子组件 ref 方法在父组件中的妙用
在 element ui 中,使用子组件的 ref 方法可以访问子组件实例。但是,当子组件被封装起来的时候,如何从父组件调用子组件的 ref 方法呢?
封装子组件
以下代码展示了封装好的子组件:
export default { name: 'eform', props: { formdata: { type: object, required: true, default: () => {} }, formmodel: { type: object, required: true, default: () => {} }, formrules: { type: object, required: false, default: () => {} } }, methods: { childmethod() { this.$refs['formref'].resetfields() }, validateformitem() { this.$refs['formref'].validate(valid => { this.$emit('validateform', valid, this._props.formmodel) }) } }}
登录后复制
父组件调用子组件 ref 方法
在父组件中,你可以通过以下方式访问子组件实例:
export default { methods: { // 直接调用子组件 ref 方法 resetform() { this.$refs.form.$refs['formref'].resetfields() } }}
登录后复制
或者,你可以先定义一个中间变量:
export default { mounted() { const form = this.$refs.form // 通过中间变量调用子组件 ref 方法 form.$refs['formRef'].resetFields() }}
登录后复制
解决问题
问题中的情况下,你在子组件的 mounted 钩子中尝试直接调用 ref 方法,这是不会生效的。正确的做法是在 methods 中定义一个重置表单的函数,并通过它来调用 ref 方法。
以上就是封装子组件后,如何从父组件中调用子组件的 ref 方法?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2661474.html