javascript - v-model 并选择多个

标签 javascript vue.js

在我看来,我有以下代码:

<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> 

我填充artist_ids使用在 ready() 中调用的方法的变量.

但是,当我查看结果页面时,我在艺术家下拉列表中看不到任何选择。 artist_ids可以确认已正确填充,并且当我在控制台中向其推送另一个 id 时,Vue 确实会接受这一点并选择它应该选择的所有艺术家。

我究竟做错了什么?我怎样才能得到v-model="artist_ids"在页面加载之前适本地从下拉列表中选择?

最佳答案

您可以使用内置的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

关于javascript - v-model 并选择多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32651715/

相关文章:

javascript - 如何阻止 React 组件渲染,直到获取所有信息?

javascript - Nuxt 3 组件中变量值不一致

vue.js - Vuetify RadioGroup 全宽

javascript - jQuery 仅在前一个 div 中添加查询

javascript - 按长度分解字符串,保留单词

javascript - 当父组件更新 vuejs 时,子组件不会更新

javascript - Dropzone - Uncaught Error : No URL provided

javascript - Vue.js - 检测是否断开连接

vue.js - 通过迭代创建菜单时出现问题

vue.js - 从 v-for 循环计算多个总计