【发布时间】:2019-04-11 14:40:52
【问题描述】:
我在这里要做的只是弄清楚如何将响应数据值绑定到我的多选 options 但我不知道我做错了什么。
控制台日志正确显示了我返回的结果,因此我知道它们正在被返回,但我不知道如何将它们与我的多选选项联系起来。
例如,如果我在多选中键入“Day”,我的 axios 调用会执行自动完成功能并获取匹配选项,因此我的控制台会显示:
0:
tag_id: "1001"
tag_data: "First Day"
1:
tag_id: "1002"
tag_data: "Second Day"
那么我怎样才能将这些返回值放入我的选项中?
<div id="tagApp">
<multiselect
v-model="value"
:options="options"
:loading="loading"
:multiple="true"
:taggable="true"
@search-change="val => read(val)"
></multiselect>
</div>
new Vue({
components: {
Multiselect: window.VueMultiselect.default
},
el: "#tagApp",
data() {
return{
value: [],
loading: false,
options: []
}
},
methods: {
read: function(val){
//console.log('searched for', val);
if (val) {
this.loading = true;
this.options = [];
const self = this;
console.log(val);
axios.get('campaigns/search',{params: {query: val}})
.then(function (response) {
self.options = response.data;
console.log(response.data);
});
} else {
this.options = [];
}
}
}
})
【问题讨论】:
-
response.data 是什么格式的? json?
-
对不起,是 JSON
-
你能告诉我 multiselect 组件吗?它对它的 options 道具有什么期望?字符串列表?
-
多选组件目前在代码中。它期待来自 JSON 对象的字符串数据,是的
标签: javascript laravel vue.js axios