Vue选择组件获取所选数组的值id

时间:2017-05-28 15:29:57

标签: vue.js vuejs2 vue-component

我使用了Vue Select组件,我整日都在努力从所选数组中获取值id

<v-select multiple label="name" :on-change="consoleCallback" :options="option" :value.sync="option.id" :value="id" v-model="users_id">
</v-select>


import vSelect from 'vue-select'
export default {
        components: {vSelect},
        props: ['title'],
        data(){
            return{
                model: {
                    'title':'',
                },
                users_id:[],
                option: [],
methods: {
            fetchData(id){
                let vm = this;
                let dataInput = vm.model;
                axios.get('/subject/' +id+ '/edit',dataInput)
                    .then(function (response) {
                        Vue.set(vm.$data, 'model', response.data.model)
                        Vue.set(vm.$data, 'option', response.data.option)
                    })
                    .catch(function (error) {
                        console.log(error);
                    });
            },

enter image description here

3 个答案:

答案 0 :(得分:0)

查看Vue Select的documentation,您应该使用on-change而不是:on-change。文档中的On-Change Callback示例如下所示:

<v-select on-change="consoleCallback" :options="countries"></v-select>

methods: {
  consoleCallback(val) {
    console.dir(JSON.stringify(val))
  },

  alertCallback(val) {
    alert(JSON.stringify(val))
  }
}

答案 1 :(得分:0)

Vue.set(vm。$ data,'model',response.data.model)               → this.model = response.data.model

答案 2 :(得分:0)

我知道它来晚了,但是对于任何寻找答案的人,我都在github here上找到了解决该问题的线程。该组件具有一个“索引”属性,您可以将其设置为“ id”以仅获取id值。

<v-select index="id" multiple label="name" :on-change="consoleCallback" :options="option" :value.sync="option.id" :value="id" v-model="users_id">
</v-select>