首页 > 解决方案 > V-Model 中的条件语句

问题描述

我有一个动态表单,其中包含以下方式指定的元素列表:

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)

有没有更好的方法来实现同样的行为?

我将假设错误消息的存在是有充分理由的。

我尝试过的另一种方法是使用计算属性。但是,这不起作用,并立即在控制台中显示错误。

标签: javascriptvue.jsvuexvuetify.js

解决方案


推荐阅读