首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证v-select问题

验证v-select问题
EN

Stack Overflow用户
提问于 2019-07-02 21:31:05
回答 3查看 1.2K关注 0票数 0

我正在尝试将项目分配到我的v-select下拉菜单中,但我一直收到消息no data available,我有一个对象数组。我正在使用模板插槽,但不确定我做错了什么。

我做了一个用于演示的代码:https://codepen.io/anon/pen/LKmZKZ?editors=1011

代码语言:javascript
复制
  <div id="app">
  <v-app id="inspire">
   <v-container>
     <v-layout>
      <v-flex xs4>
      <v-select :items="items" label="people">
        <template slot="selection-item" slot-scope="item">
          <v-icon :color="item.icon_color">{{item.icon}}</v-icon>
          {{item.name}}
          </template>
         </v-select>
      </v-flex>
     </v-layout>
   </v-container>
  </v-app>
 </div>


new Vue({
  el: '#app',
  data() {
   return {
  items: [
    {name: 'Karen', icon : 'search', icon_color: 'red'},
    {name: 'Gordon', icon : 'person', icon_color: 'yellow'},
    {name: 'Craig', icon : 'opacity', icon_color: 'blue'},
    {name: 'Chris', icon : 'pets', icon_color: 'orange'},
     ]
   }
  }
 })

先谢谢你们了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-07-02 22:49:31

v-select期望一个字符串数组作为值,但您绑定的是一个填充了对象的数组,这就是为什么您看到[object object],所以您必须添加item-text属性:

代码语言:javascript
复制
<v-select
  :items="items"
   name="item"
   label="Select a item"
   item-text="name"
></v-select>
票数 2
EN

Stack Overflow用户

发布于 2019-07-02 22:12:59

你在写

代码语言:javascript
复制
<v-select :ietms="items" label="people">

应该是

代码语言:javascript
复制
<v-select :items="items" label="people">

我从来没有用过vuetify,但我在documentacion中找到了这一点,然后我把你的笔叉开了:https://codepen.io/christiancazu/pen/mZLWpL

票数 0
EN

Stack Overflow用户

发布于 2019-07-02 23:34:00

您缺少项目text item-text="name",这就是为什么它在下拉列表中显示object object的原因

代码语言:javascript
复制
<div id="app">
  <v-app id="inspire">
   <v-container>
     <v-layout>
      <v-flex xs4>
      <v-select :items="items" item-text="name" label="people">
        <template slot="selection-item" slot-scope="item">
          <v-icon :color="item.icon_color">{{item.icon}}</v-icon>
          {{item.name}}
          </template>
         </v-select>
      </v-flex>
     </v-layout>
   </v-container>
  </v-app>
 </div>

这应该是可行的

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

https://stackoverflow.com/questions/56853657

复制
相关文章

相似问题

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