首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确跟踪vue-multiselect中的选项

正确跟踪vue-multiselect中的选项
EN

Stack Overflow用户
提问于 2021-07-30 04:46:34
回答 1查看 124关注 0票数 0

我目前正在使用一个axios调用来使用Vue-multiselect进行自动补全。我现在正在从查询中获取数据,并在将其转储到控制台中时可以看到它,但是我仍然没有连接到使用选项加载我的数组并在multiselect组件中跟踪它们的地方。

现在,我的response.data看起来像这样:

代码语言:javascript
复制
0:
  contact: test@mail.com
1:
  contact: newmail@mail.com

我只是希望contact字段显示为他们的选择选项,我也希望这是我在以后的提交中发送的,所以我想通过该字段来标记和跟踪。

我在这里做错了什么?

代码语言:javascript
复制
<multiselect 
   v-model="copyUsers" 
   :options="copyUsersOptions" 
   @search-change="val => searchCopiedUsers(val)"
   :multiple="true" 
   :loading="loading"
   placeholder="Enter user(s) to be copied" 
   label="name"
   track-by="value">
 </multiselect>

 data() {
    return {
        loading: false,
         copyUsers: [],
         copyUsersOptions: [],
    }
 },
 methods: {
    searchCopiedUsers: function(val) {
          console.log('searched for', val);
          if (val) {
            this.loading = true;

            axios.get('/users/search',{params: {query: val}})
            .then(response => {
                
                this.copyUsersOptions = response.data;

                console.info(this.copyUsersOptions);

                
              })
              .catch(function(error) {
                this.loading = false;
                console.log(error)
              })
              .finally(function() {
                this.loading = false;
              })

          } else {
            this.copyUsersOptions = [];
          }
    },
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-30 04:52:14

尝试将对象转换为数组

代码语言:javascript
复制
axios.get('/users/search',{params: {query: val}})
    .then(response => {
        this.copyUsersOptions = [...response.data];
    })

目前,您从服务器得到的结果是一个对象。在初始化vue-multiselect时,它将不起作用。通过使用spread operator将其转换为数组,该数组将被正确格式化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68585547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档