Использование объекта в качестве параметров выбора Vue

#javascript #vue.js #v-select #vue-select

#javascript #vue.js #v-выбрать #vue-выберите

Вопрос:

Я знаю, в документах выбора Vue указано, что параметры должны быть массивом, но есть ли способ обойти это? Я хочу использовать ключи объекта в качестве значений и значения объекта в качестве меток.

Мои данные:

 obj: {
   value: 'en',
   options: {
     'ar': 'Arabic',
     'ast': 'Asturian',
     'en':' English'
   }
}
  
  <v-select                                       
       v-model="obj.value"
       :options="Object.keys(obj.options)"                                 
>
  

Я знаю, что могу использовать ключи в качестве параметров таким образом, но я понятия не имею, как использовать значения в качестве меток. Какие-либо советы?

Комментарии:

1. Вам нужны ключи в вашей v-модели?

2. Да, я хочу использовать ключи в качестве фактических выбранных значений. Я просто хочу скрыть их под ярлыками

Ответ №1:

Есть несколько способов, которыми вы могли бы это сделать, но один из вариантов:

 <v-select v-model="obj.value" :options="obj.options" :reduce="val => val.code"/>
  

Единственное изменение в ваших данных должно заключаться в том, что obj.options должен выглядеть следующим образом:

 obj: {
    value: "en",
    options: [
      { label: "Arabic", code: "ar" },
      { label: "Asturian", code: "ast" },
      { label: "English", code: "en" }
    ]
  }
  

Соответствующая документация transforming-selections