在开发过程中遇到需要用vuex修改v-model的值,如果只是平常使用则会报错
computed property “activeName” was assigned to but it has no setter
这时我们需要给双向绑定的值添加一个set
computed: {
...mapState('admin/tabComponent', ['activeName']),
// 这里activeName是双向绑定,要添加set
activeName: {
get: function () {
return this.$store.state.admin.tabComponent.activeName
},
set: function (val) {
this.setActiveName(val)
}
}
},
mapState和mapMutations(备注说明)
export default {
namespaced: true,
state: {
activeName: 'No1' // tab切换的activeName
},
actions: {
},
mutations: {
/**
* @description 设置tab当前选中
* @param {Object} state state
* @param {Object} data data
*/
setActiveName (state, data) {
state.activeName = data
}
}
}