Значение флажка неправильное поведение на buefy - PullRequest
0 голосов
/ 02 октября 2018

Я генерирую список флажков из массива, и когда я выбираю некоторые из полей, значение v-модели (сгенерированный массив, объявленный при создании экземпляра Vue) не добавляет новое значение поля в массив, нозамените пустой массив и поместите в него значение.

Примером: я получил 3 значения "Cat", "Dog" и "Bird".Когда я проверяю «Cat», массив выглядит так [«Cat»], а когда я проверяю «Dog» с помощью «Cat», массив выглядит так [«Dog»].

Когда я используюпеременная (массив), определенная в данных, работает, но когда я использую свой массив в переменной формы, он не работает.

<div id="root">
  <b-checkbox
      v-for="(field, key) in query.fields"
      v-model="form[query.id+'-'+query.priority]"
      :native-value="field.id">
      {{ field.name }}
  </b-checkbox>
</div>
<script>
const vue = new Vue({
    el: '#root',
    data: {
        query: {id: 1, priority: 1, fields: [{id: 1, name: 'cat'}, {id: 2, name: 'dog'}, {id: 3, name: 'bird'}]),
        form: {},
    },
    created: function () {
        this.form[this.query.id+'-'+this.query.priority] = [];
    }
});
</script>

1 Ответ

0 голосов
/ 03 октября 2018

Чтобы решить поведение моего объекта, я преобразовал его в массив, используя идентификатор запроса в качестве идентификатора формы.Я получаю приоритет запроса в другом месте.

Это решает мою проблему, но не проблему использования строки в качестве индекса для этого вида кода.

<div id="root">
  <b-checkbox
      v-for="(field, key) in query.fields"
      v-model="form[query.id]"
      :native-value="field.id">
      {{ field.name }}
  </b-checkbox>
</div>

<script>
const vue = new Vue({
    el: '#root',
    data: {
        query: {id: 1, priority: 1, fields: [{id: 1, name: 'cat'}, {id: 2, name: 'dog'}, {id: 3, name: 'bird'}]),
        form: [],
    },
    created: function () {
        this.form[this.query.id] = [];
    }
});
</script>
...