vuejs:vue-select 组件不更新值

vuejs: vue-select component not updating values

我正在尝试将 vue-select 组件用于下拉列表。至此我写完了。

<template>
    <div>
        <v-select label="name" key="id" :v-model="selected" :reduce="data => data.id" :options="items" @input="update()" />
    </div>

</template>

<script>
export default {
  props: {
      initial: {
        type: [String, Number],
        default: 0,
      },
      api_call: {
          type: String,
          required: true,
      },

  },

  data(){

      return {
          value: this.initial,
          items: [],
      }

  },

  computed: {
      selected: {
          get() {
              return this.value;

          },
          set(val) {
              return this.value = val;
          }
      },
  },
  methods:{
      update() {
          console.log('selected', this.selected, this.value);
          this.$emit('input', this.selected);

      },
      getData: function(){

        axios.get('/api/' + this.api_call)
        .then(function (response) {
            this.items = response.data;
        }.bind(this));

      },
    },
    created(){
      this.getData();
    }

  }

下拉列表按预期填充,选择一个项目将其插入输入字段。我遇到的两个问题是

  1. 选择某些内容时,valueselected 变量都不会更改。
  2. 我还传递了一个 initial 值,我想将其选为列表中的默认值。

v-model 指令中删除绑定符号 :

 <v-select label="name" key="id"  v-model="selected" :reduce="data => data.id" :options="items" @input="update()" />

并初始化你的 value 就像:

  data(vm){//vm refers to this

      return {
          value: vm.initial,
          items: [],
      }

  },

或:

  data(){

      return {
          value: null,
          items: [],
      }

  },
mounted(){
this.value=this.initial
}