gpt4 book ai didi

javascript - axios调用,使用vue将响应数据获取到选择选项中

转载 作者:行者123 更新时间:2023-12-01 01:05:58 25 4
gpt4 key购买 nike

我在这里想做的就是弄清楚如何将响应数据值绑定(bind)到我的多选选项中,但我无法弄清楚我做错了什么。

控制台日志正确显示了我返回的结果,因此我知道它们正在返回,但我不知道如何将它们与我的多选选项联系起来。

例如,如果我在多选中输入“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 = [];
}
}
}
})

最佳答案

由于您使用对象作为选项,因此您需要将 labeltrack-by 属性传递给多选组件。请参阅文档 here

<multiselect
v-model="value"
label="tag_data"
track-by="tag_id"
:options="options"
:loading="loading"
:multiple="true"
:taggable="true"
@search-change="val => read(val)"
></multiselect>

关于javascript - axios调用,使用vue将响应数据获取到选择选项中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55635226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com