【发布时间】:2017-04-13 18:45:24
【问题描述】:
我有以下组件标记
<select id="create-user-roles" class="form-control" v-bind="role">
<option v-for="role in roles" :value="role.id">{{ role.label }}</option>
</select>
并具有以下组件
..........
data() {
return {
roles: [
{name: 'something', id:0 },..,..,..,],
form: {
......
roles: null,
}
}
},
computed: {
role: {
get: function(){
if(this.userData == undefined) return null;
return this.userData.roles[0].id;
},
set: function(id) {
console.log(id);
var role = this.$data.roles.filter(function(o){
return o.id === id
}).name;
console.log(role);
this.$data.form.roles = [role];
console.log(this.form.roles);
}
}
},
...........
在我做的组件方法函数中
this.form = Object.assign({}, this.userData)); // userData is a prop passed down from parent with {roles:[{id: 0, name: 'something' }]}
当我更改选择时,它不会使用 role 设置器更新 form.roles
事实上似乎没有任何东西被解雇!
我在这里做错了什么?
【问题讨论】:
标签: vue-component vue.js vuejs2