【问题标题】:v-model and select multiplev-model 并选择多个
【发布时间】:2015-12-15 14:02:34
【问题描述】:

我认为有以下代码:

<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 变量。

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

我做错了什么?如何在页面加载之前适当从下拉列表中选择v-model="artist_ids"

【问题讨论】:

    标签: javascript vue.js


    【解决方案1】:

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

    【讨论】:

    • 谢谢,刚看到这个。使用选项属性确实大大简化了事情。
    猜你喜欢
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 2020-12-03
    • 1970-01-01
    相关资源
    最近更新 更多