首页 > 解决方案 > 与 createElement 一起使用时,vuejs ref 属性无效

问题描述

我已经为 Vue 组件编写了一个自定义渲染函数,但是当我在传递给 createElement 函数的数据对象中设置“ref”属性时,根 vm (VueComponent) 的 $refs 中没有显示任何内容

Vue.component('sm-form-row', {
        render: function (createElement) {
            // Create the Row Div and append the columns
            return createElement('div', {
                    class: {
                        'row': true
                    },
                    ref: 'some computed value'
                });
        }
});

我错过了什么,该类被正确应用,但 $refs 一直显示为空。

标签: vue.jsvuejs2

解决方案


ref被应用了,我做了一个小提琴来看看它是否有效。

但是,如果要添加对sm-form-row组件的引用,则必须在父组件中添加ref属性。例如在父组件中:

<sm-form-row ref="formRow" />

在您的父组件中,您可以通过以下方式访问它:

this.$refs.formRow

您还可以访问子组件的方法。例如,如果子组件有一个名为 myMethod 的方法,您可以在父组件中访问它,如下所示:

this.$refs.formRow.myMethod

推荐阅读