Условное утверждение в V-модели - PullRequest
0 голосов
/ 07 марта 2019

У меня есть динамическая форма, которая содержит список элементов, указанных следующим образом:

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)

Есть ли лучший способ добиться такого же поведения?

Я собираюсь предположить, что сообщение об ошибке есть по уважительной причине.

Один альтернативный подход, который я попробовал, - это использование вычисляемого свойства. Тем не менее, это не сработало, и сразу же отображаются ошибки в консоли.

...