1

我正在做一个项目,我需要使用 v-chosen 进行选择 dorpdown

<select data-placeholder="Select Customers..." style="width:350px;" tabindex="4" v-chosen v-model="customer" name="customer_id" id="customer_id">
      <option v-for="customer in allcustomers" v-bind:value="customer.id">
        {% verbatim %}{{ customer.name }}{% endverbatim %}
      </option>
</select>

,默认情况下,如果我做这样的事情,它就不起作用

Vue.directive('chosen', {
      bind: function (el, binding, vnode, oldVnode) {
        Vue.nextTick(function() {
          $(el).chosen({
            width:'100%'
          }).change(function(e){
            vnode.data.on.change(e, $(el).val())
          });
        });
      }
    });
var app = new Vue({
        el:"#customerOrder",
        data() {
            return {
                customer:'0',
                allcustomers:['A','B','C','D']
            }
        },
})

但如果从外部 API 获取数据,

 data() {
            return {
                customer:'0',
                allcustomers:[]
            }
        },
        methods: {
            getCustomer(){
                axios
                  .get("{% url 'get_all_customers' %}")
                  .then((response) =>{
                       this.allcustomers = response.data.result;
                       console.log(this.allcustomers)
                  })
            }
        },

选择的下拉列表也没有更新。我的问题是如何在 vuejs2 中更新 v-chosen

4

0 回答 0