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