Установите значение по умолчанию в меню выбора опций
Я хочу привязать настраиваемый атрибут к меню выбора опций. Тег <option>
имел бы просто атрибут selected="selected"
<template>
<div>
<select>
<option v-for="" v-bind:selected="[condition ? selected : notSelected]" value="">{{ resource.xprm_name }}</option>
</select>
</div>
</template>
data: {
selected: "selected",
notSelected: ""
}
Это не сработает, но если я изменю v-bind:selected
для v-bind:class
то он получит соответствующий класс, поэтому логика работает, но не с selected
атрибутом.
Любой способ заставить его работать с такими пользовательскими атрибутами?
Ответы
Ответ 1
Вы можете просто использовать v-model
для выбора значения по умолчанию в поле выбора:
Разметка:
<div id="app">
<select v-model="selected">
<option value="foo">foo</option>
<option value="bar">Bar</option>
<option value="baz">Baz</option>
</select>
</div>
Модель:
new Vue({
el: "#app",
data: {
selected: 'bar'
}
});
Здесь JSFiddle: https://jsfiddle.net/Lxfxyqmf/
Ответ 2
HTML:
<div id="myComponent">
<select v-model="selectedValue">
<option
v-for="listValue in valuesList"
:selected="selectedValue == listValue.id"
:value="listValue.id"
>
@{{listValue.name}}
</option>
</select>
<span>Chosen item: @{{ selectedValue }}</span>
</div>
ЯШ:
var app = new Vue({
el: '#myComponent',
data: {
selectedValue: 2,
valuesList: [
{name: 'One', id: 1},
{name: 'Two', id: 2},
{name: 'Three', id: 3},
]
},