How to load Array Data into Vuetify Select Input

前端 未结 2 1115
我寻月下人不归
我寻月下人不归 2021-01-14 16:25

I\'m trying to show \"locations\" in a vuetify select component, but my current code renders \"[object Object]\" instead of Location 1, Location 2, etc.

My select co

相关标签:
2条回答
  • 2021-01-14 16:56

    implemeneted a watch to have a low level Array of objects

    watch: {
        groupInfo: function(groupInfo) {
          if (groupInfo.teams !== undefined) {
            var newArray = [];
            for (var key in groupInfo.teams) {
              var obj = groupInfo.teams[key];
              newArray.push(obj);
            }
            console.log("wagwan" newArray)
            this.teams = newArray;
          }
        }
      },
    
    0 讨论(0)
  • 2021-01-14 17:09

    For custom objects you have to specify the item-text. The item-text is what each option will display.

    From your screenshot, for instance, title is a possible property:

    <v-select
    :items="locations"
    v-model="location"
    label="Choose Location"
    item-text="title"
    bottom
    autocomplete
    ></v-select>
    

    Demos below.

    Without item-text:

    new Vue({
      el: '#app',
      data () {
        return {
          location: null,
          locations: [
            { id: "1111", manager: 'Alice',  title: 'Water Cart 1' },
            { id: "2222", manager: 'Bob',    title: 'Water Cart 2' },
            { id: "3333", manager: 'Neysa',  title: 'Water Cart 3' }
          ]
        }
      }
    })
    <link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons'>
    <link rel='stylesheet' href='https://unpkg.com/vuetify@1.0.10/dist/vuetify.min.css'>
    <script src='https://unpkg.com/vue/dist/vue.js'></script>
    <script src='https://unpkg.com/vuetify@1.0.10/dist/vuetify.min.js'></script>
    
    <div id="app">
      <v-app>
        <v-container>
          <v-select
            :items="locations"
            v-model="location"
            label="Choose Location"
            bottom
            autocomplete
            >
          </v-select>
        </v-container>
      </v-app>
    </div>

    With item-text:

    new Vue({
      el: '#app',
      data () {
        return {
          location: null,
          locations: [
            { id: "1111", manager: 'Alice',  title: 'Water Cart 1' },
            { id: "2222", manager: 'Bob',    title: 'Water Cart 2' },
            { id: "3333", manager: 'Neysa',  title: 'Water Cart 3' }
          ]
        }
      }
    })
    <link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons'>
    <link rel='stylesheet' href='https://unpkg.com/vuetify@1.0.10/dist/vuetify.min.css'>
    <script src='https://unpkg.com/vue/dist/vue.js'></script>
    <script src='https://unpkg.com/vuetify@1.0.10/dist/vuetify.min.js'></script>
    
    <div id="app">
      <v-app>
        <v-container>
          <v-select
            :items="locations"
            v-model="location"
            label="Choose Location"
            item-text="title"
            bottom
            autocomplete
            >
          </v-select>
        </v-container>
      </v-app>
    </div>

    0 讨论(0)
提交回复
热议问题