v-model 和 select 多个
v-model and select multiple
我认为有以下代码:
<div class="item_editor_line">
<label>Artist(s): </label>
<select multiple
name="artists[]"
v-model="artist_ids"
id="artists">
<option v-repeat="artists"
value="@{{ id }}">
@{{ name }}
</option>
</select>
</div>
并且我使用 ready()
中调用的方法填充 artist_ids
变量。
当我查看生成的页面时,我在艺术家下拉列表中看不到任何内容 select。 artist_ids
可以确认已正确填充,当我在控制台中将另一个 id 推送给它时,Vue 确实选择了这个和 select 它应该的所有艺术家。
我做错了什么?如何在页面加载前从下拉列表中适当地获取 v-model="artist_ids"
到 select?
您可以使用内置的 options
属性来呈现选项,而不是使用 v-repeat
循环列表。只需确保您的数据格式正确即可。
示例:
data: {
selected_artists: [ 5678 ],
artists: [
{ text: 'Some Artist', value: 1234 },
{ text: 'Another Artist', value: 5678 }
]
}
然后您可以使用内置选项渲染:
<select multiple name="artists[]" v-model="selected_artists" options="artists"></select>
这是一个代码笔,它也显示了使用 v-repeat 的情况:
http://codepen.io/anon/pen/LpZBom
我认为有以下代码:
<div class="item_editor_line">
<label>Artist(s): </label>
<select multiple
name="artists[]"
v-model="artist_ids"
id="artists">
<option v-repeat="artists"
value="@{{ id }}">
@{{ name }}
</option>
</select>
</div>
并且我使用 ready()
中调用的方法填充 artist_ids
变量。
当我查看生成的页面时,我在艺术家下拉列表中看不到任何内容 select。 artist_ids
可以确认已正确填充,当我在控制台中将另一个 id 推送给它时,Vue 确实选择了这个和 select 它应该的所有艺术家。
我做错了什么?如何在页面加载前从下拉列表中适当地获取 v-model="artist_ids"
到 select?
您可以使用内置的 options
属性来呈现选项,而不是使用 v-repeat
循环列表。只需确保您的数据格式正确即可。
示例:
data: {
selected_artists: [ 5678 ],
artists: [
{ text: 'Some Artist', value: 1234 },
{ text: 'Another Artist', value: 5678 }
]
}
然后您可以使用内置选项渲染:
<select multiple name="artists[]" v-model="selected_artists" options="artists"></select>
这是一个代码笔,它也显示了使用 v-repeat 的情况: http://codepen.io/anon/pen/LpZBom