Vue Выберите, как привязать 1 свойство к v-модели. - PullRequest
0 голосов
/ 07 марта 2019

Я поместил v-модель в v-select, но он возвращает весь объект

<div id="app">
  <h1>Vue Select - Using v-model</h1>
  <v-select v-model="selected" :options="options" value="id" label="labels">

  </v-select>  
  {{selected}}
</div>

    Vue.component('v-select', VueSelect.VueSelect)

new Vue({
  el: '#app',
  data: {
    options: [      
      {id: 1, labels: 'foo'},
      {id: 3, labels: 'bar'},
      {id: 2, labels: 'baz'},
    ],
    selected: '',
  }
})

это приведет к этому enter image description here

есть ли способ получить идентификатор выделенных объектов только вместо целого объекта? Я попытался указать значение = "id", но все равно не работает.

Ответы [ 3 ]

2 голосов
/ 07 марта 2019

Лучшим вариантом будет использование свойства computed, чтобы вы могли манипулировать selected для возврата запрошенного значения:

computed: {
    selectedID: function () {
      return this.selected.id;
    }
  }

Рабочая Codepen с вашим примером

0 голосов
/ 07 марта 2019

@ Джил, вот рабочая демоверсия

Vue.component('v-select', VueSelect.VueSelect);

var app = new Vue({
  el: '#app',
  data: {
    selected:'',
    options: [
      { id: 0, labels: 'Vegetables' },
      { id: 1, labels: 'Cheese' },
      { id: 2, labels: 'Fruits' }
    ]
  },
  computed: {
    selectedID: function () {
      return this.selected.id
    }
  }
})
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script src="https://unpkg.com/vue-select@latest"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" />  

<div id="app">
  <h1>Vue Select - Using v-model</h1>
  <v-select v-model="selected" :options="options" label="labels">
  </v-select>  
  selectedID : {{selectedID}}
</div>
0 голосов
/ 07 марта 2019

Вы имеете в виду

<v-select v-model="selected" :options="options" id=" {{selected.id}} " label="labels">?

Это свяжет выбранный идентификатор с вашим V-выбором.

...