【发布时间】:2017-08-31 15:44:28
【问题描述】:
我正在使用 Vue.js 2.0 和 Element UI 库。
我想使用多项选择将某些角色分配给我的用户。
收到所有可用角色的列表并将其分配给availableRoles。因为它是一个对象数组,而v-model 只接受一个有值的数组,所以我需要通过计算属性computedRoles 提取角色的id。
我的用户的当前角色被接收并分配给userRoles: [{'id':1, 'name':'Admin'}, {'id':3, 'name':'User'}]。
computedRoles 等于 [1,3]
选择的预选很好,但我无法更改任何内容(从选择中添加或删除选项)
出了什么问题以及如何解决?
http://jsfiddle.net/3ra1jscx/3/
<div id="app">
<template>
<el-select v-model="computedRoles" multiple placeholder="Select">
<el-option v-for="item in availableRoles" :label="item.name" :value="item.id">
</el-option>
</el-select>
</template>
</div>
var Main = {
data() {
return {
availableRoles: [{
id: 1,
name: 'Admin'
}, {
id: 2,
name: 'Power User'
}, {
id: 3,
name: 'User'
}],
userRoles: [{'id':1, 'name':'Admin'}, {'id':3, 'name':'User'}]
}
},
computed : {
computedRoles () {
return this.userRoles.map(role => role.id)
}
}
}
【问题讨论】:
标签: javascript vuejs2