我有一个动态表单,其中包含以下列方式指定的元素列表:
element1: { name: "property1", value: "value1", defaultValue: "defaultvalue1", usingDefaultValue: true, type: "String/Enum/Int/Long }
此元素列表通过WebSocket不断发布并存储在Vuex存储中。每个元素对应于一个输入,根据切换开关显示value
或defaultValue
。这些值使用v-model
绑定到输入字段。
我使用vuex-map-fields
库来帮助处理动态多行字段。它们的定义如下:
computed: {
...mapMultiRowFields(`elementsStore`, ["elements"])
},
使用v-for
将字段传递到列表组件中:
<v-layout v-for="element in elements" :key="element.name">
<element-list-item :element="element"></element-list-item>
</v-layout>
现在,以下内容非常符合我的预期:
<v-text-field
v-model="element.useDefaultValue ? element.defaultValue : element.value"
</v-text-field>
但是,每当我使用npm run lint
时,都会收到以下错误消息:
error: 'v-model' directives require the attribute value which is valid as LHS (vue/valid-v-model)
是否有更好的方法来实现相同的行为?
由于种种原因,我将假定错误消息在那里。
我尝试过的另一种方法是使用计算属性。但是,此操作不起作用,并立即在控制台中显示错误。