我正在做一个项目,我需要使用 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