Laravel 5 VueJS多重选择

Laravel 5 VueJS多重选择,laravel-5,vue.js,Laravel 5,Vue.js,我试着用select2进行多次选择 我使用了laravel,我在userRoles上的数据是在带有关系角色的用户模型上返回的数据,allRoles就是角色模型中的all 查看代码 <select class="form-control" name="roles[]" id="roles" multiple> <option v-for="role in allRoles" :value="role.id"

我试着用select2进行多次选择 我使用了laravel,我在userRoles上的数据是在带有关系角色的用户模型上返回的数据,allRoles就是角色模型中的all 查看代码

<select class="form-control" name="roles[]" id="roles"  multiple>
            <option v-for="role in allRoles"
                    :value="role.id"
                    >
                @{{ role.name }}
            </option>
 </select>

@{{role.name}

如何使用userRoles数组设置所选选项?

添加
计算的
哈希映射(对象)以搜索所选角色:

computed: {
    selectedRoleMap() {
        var map = {};
        this.userRoles.forEach(role => {
            map[role] = 1;
        });
        return map;
    }
}
然后将
:selected=“selectedRoleMap.hasOwnProperty(role.id)”
添加到
选项中

在这里演奏小提琴:


或者,您可以添加一个
hasRole
方法来循环
userRoles
以查看
id
是否在
userRoles
中,但是构建一个hashMap并在其中搜索比循环数组
allRoles.length
次性能更好。

@Rai为什么需要该数组?您的问题是将一些
选项选对了吗?让我们@Rai让我们在聊天中继续讨论。