Computed property "editableTabsValue" was assigned to but it has no setter.问题解决
vuex的使用中报这个错误,原因是v-model双向绑定造成
vuex中是单项流,v-model是vue中的双向绑定,但是在computed中只通过get获取参数值,没有set无法改变参数值
解决方法:1.给editableTabsValue重新赋值给一个变量 设置getter,setter
<el-tabs v-model="editableTabsValue" type="card" @tab-click="tabClick" @tab-remove="removeClick">
<el-tab-pane :key="item.name" v-for="(item, index) in editableTabs" :label="$t(`menus.${item.name}`)"
:name="item.name" :closable="item.closable"></el-tab-pane>
</el-tabs>
computed: {
...mapGetters(['editableTabs','editableTabsValue']),
defaultTabs: {
get() {
return this.editableTabsValue
},
set(v) {
this.editableTabsValue = v
}
}
}
2.或者把v-model换成 :value
<el-tabs :value="editableTabsValue" type="card" @tab-click="tabClick" @tab-remove="removeClick">
<el-tab-pane :key="item.name" v-for="(item, index) in editableTabs" :label="$t(`menus.${item.name}`)"
:name="item.name" :closable="item.closable"></el-tab-pane>
</el-tabs>