我正在使用Vue.js 2.0和Element UI庫。多選Vue.js和計算屬性
我想使用多重選擇將一些角色歸功於我的用戶。
收到所有可用角色的列表並將其分配給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)
}
}
}