vutify.jsのv-selectコンポーネントのitems
プロパティには文字列の配列かオブジェクトの配列を指定します。
オブジェクトを指定する場合、そのオブジェクトにtext
、value
プロパティがあるかどうかでv-selectのプロパティの記述方法が変わります。
詳しくは選択フィールド コンポーネントのドキュメントをご確認ください。
文字列の場合
文字列がセレクトボックスの表示ラベルと値になります。
<v-card>
<v-card-title>v-select with string</v-card-title>
<v-card-subtitle>selected: {{ selected }}</v-card-subtitle>
<v-card-text>
<v-select v-model="selected" :items="fruits" name="fruits"> </v-select>
</v-card-text>
</v-card>
data() {
return {
selected: '',
fruits: ['apple', 'banana', 'cherry', 'dorian', 'elderberry']
}
}
オブジェクトの場合
オブジェクトの場合は、そのオブジェクトに少なくともtext
というプロパティが存在する場合、下記のように記述できます。
items
プロパティに指定したオブジェクトのtext
プロパティの値が表示ラベルと値になります。
<v-card>
<v-card-title>v-select with string</v-card-title>
<v-card-subtitle>selected: {{ selected }}</v-card-subtitle>
<v-card-text>
<v-select v-model="selected" :items="fruitsObj" name="fruits"> </v-select>
</v-card-text>
</v-card>
data() {
return {
selected: '',
fruitsObj: [
{
id: 1,
text: 'apple',
price: 100
},
{
id: 2,
text: 'banana',
price: 110
},
{
id: 3,
text: 'cherry',
price: 120
},
{
id: 4,
text: 'dorian',
price: 130
},
{
id: 5,
text: 'elderberry',
price: 140
}
]
}
}
なお、オブジェクトにvalue
プロパティがある場合、value
プロパティの値がセレクトボックスの値になります。
たとえば、下記のようなオブジェクトの場合、text
プロパティが表示ラベル、value
プロパティが値になります。
fruitsObj: [
{
id: 1,
text: 'アップル',
value: 'apple',
price: 100
},
{
id: 2,
text: 'バナナ',
value: 'banana',
price: 110
},
{
id: 3,
text: 'チェリー',
value: 'cherry',
price: 120
},
{
id: 4,
text: 'ドリアン',
value: 'dorian',
price: 130
},
{
id: 5,
text: 'エルダーベリー',
value: 'elderberry',
price: 140
}
]
オブジェクトの任意のプロパティを指定したい場合
items
プロパティに指定したオブジェクトの任意のプロパティをセレクトボックスの表示ラベルと値にしたい場合は、下記のように記述します。
item-text
に表示ラベルにしたいオブジェクトのプロパティ名、item-value
に値にしたいオブジェクトのプロパティ名を指定します。
下記の例ではlabel
プロパティを表示ラベルに、name
プロパティを値にしています。
なおitem-value
はオプションで指定しない場合は、item-text
に指定した値が表示ラベルと値になります。
<v-card>
<v-card-title>v-select with object</v-card-title>
<v-card-subtitle>selected: {{ selected }}</v-card-subtitle>
<v-card-text>
<v-select v-model="selected" :items="fruitsObj" item-text="label" item-value="name" name="fruits">
</v-select>
</v-card-text>
</v-card>
fruitsObj: [
{
id: 1,
label: 'アップル',
name: 'apple',
price: 100
},
{
id: 2,
label: 'バナナ',
name: 'banana',
price: 110
},
{
id: 3,
label: 'チェリー',
name: 'cherry',
price: 120
},
{
id: 4,
label: 'ドリアン',
name: 'dorian',
price: 130
},
{
id: 5,
label: 'エルダーベリー',
name: 'elderberry',
price: 140
}
]
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/09 15:11 編集
2020/07/09 15:43
2020/07/10 01:55