#arrays #typescript #object #combobox #vuetify.js
Вопрос:
У меня этот фрагмент кода действительно сбил меня с толку. Я использую typescript с vue (vuetify), и я все еще довольно новичок в typescript.
У меня есть массив объектов, которые я хочу загрузить в виде элементов в выпадающий список vuetify.
Array =[ { subject: 'science', difficulty: 'medium' } { subject: 'math', difficulty: 'hard' }]
при наличии предмета, видимого в раскрывающемся списке, и сложности будет значение, скрытое за полем со списком
я знаю, что это должно выглядеть так
items: [ { text: 'science', value: 'medium' }, { text: 'math', value: 'hard' }];
так что я могу загрузить его в v-combobox вот так
lt;v-combobox :items="items" /gt;
может ли кто-нибудь помочь мне в том, как этого достичь? очень признателен!
Ответ №1:
Я не понял вашу проблему, но типичное поле со списком должно выглядеть так:
(определите SelectedItem как пустой массив в ваших данных и назовите это.SelectedItem.text)
lt;v-combobox v-model="selectedItem" :items="items" item-value="value" item-text="text" :return-object="true" label="Select an item.." outlined clearable gt; lt;/v-comboboxgt;
Комментарии:
1. привет, в принципе, я хочу загрузить содержимое массива в виде элементов для выпадающего списка.. так что я просто передаю массив непосредственно в реквизит :элементы ?
2. да, это верно. вам нужна модель и предметы. также :return-object=»true» определяет, что после выбора вы можете вызвать весь объект следующим образом.SelectedItem. Ценность
Ответ №2:
Да, для загрузки содержимого массива вы устанавливаете реквизит элементов, а также реквизит «значение элемента» и «текст элемента», как это сделал @Aurora. Потому что у вас массив объектов, и компоненту нужно знать, каким будет значение и поле отображения.