vue-select设置默认值

10k*_*k20 2 vue.js vue-select

我需要将数组选项的第一个元素设置为默认选项,如下所示在此输入图像描述

但我明白了:在此输入图像描述

我的组件代码:

<v-select :options="options" label="title" class="select">
         <template slot="option" slot-scope="option">
             <span :class="option.icon"></span>
             <img class="language-flag" :src="option.img" /> {{ option.title }}
         </template>
         <template slot="selected-option" slot-scope="option">
             <span :class="option.icon"></span>
             <img class="language-flag" :src="option.img" /> {{ option.title }}
         </template>
</v-select>
Run Code Online (Sandbox Code Playgroud)

脚本:

  export default {
        data() {
            return {
                options: [{
                        title: 'RU',
                        img: require('../../assets/icons/flags/RU.svg'),
                    },
                    {
                        title: 'KZ',
                        img: require('../../assets/icons/flags/KZ.svg')
                    },
                ],
            }
        },
    }
Run Code Online (Sandbox Code Playgroud)

And*_*hiu 6

使用并将v-model<v-select>设置为您想要选择的任何内容。

Vue.config.devtools = false;
Vue.config.productionTip = false;

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data: () => ({
    items: [{
        text: 'RU',
        value: 'ru'
      },
      {
        text: 'EN',
        value: 'en'
      }
    ],
    selectedLang: 'ru'
  })
})
Run Code Online (Sandbox Code Playgroud)
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/font@4.x/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">

<div id="app" data-app>
  <v-container>
    <v-select :items="items" v-model="selectedLang" />
  </v-container>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.11/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>
Run Code Online (Sandbox Code Playgroud)


如果您的选项是动态的并且您不知道哪个是第一个,则在 中mounted,只需选择第一个:

mounted() {
  this.selectedLang = this.items[0].value;
}
Run Code Online (Sandbox Code Playgroud)

请注意,您仍然需要将selectedLangin声明data为空字符串,null以便 Vue 为其添加反应性。