【发布时间】:2019-12-05 02:57:01
【问题描述】:
我需要使用一些 Vue 组件的 ref 名称为它们添加类名。 ref 名称在配置文件中定义。我想动态地做,以避免在每个 Vue 组件上手动添加类。
我尝试使用$refs 查找每个组件,如果找到,请将类名添加到元素的类列表中。该类已添加,但一旦用户交互开始(例如,组件被单击、接收新值等),它就会被删除
这是我尝试过的一些示例代码:
beforeCreate() {
let requiredFields = config.requiredFields
this.$nextTick(() => {
requiredFields.forEach(field => {
if(this.$refs[field]) {
this.$refs[field].$el.classList.add('my-class')
}
})
})
}
【问题讨论】:
-
通常,您可以使用
v-bind:class在模板中动态添加类。你真的必须使用 $ref 元素来分配类吗? -
你为什么不能使用
:class="{'my-class': requiredFields.includes('fieldName')}"代替ref="fieldName"? -
我想避免像这样将它添加到模板中的所有组件中。此外,我希望它可以通过配置文件进行配置。
标签: javascript html css vue.js