1.表格多选,回显时不反选,
解决方法:
tableShowNormal() {
let projectIds = this.currentUser.projectId
this.multipleSelection= []
this.$nextTick(() => {
projectIds.forEach(id => {
this.allProject.forEach(item => {
if (item.id == id) {
this.multipleSelection.push(item)
this.$refs.multipleTable.toggleRowSelection(item)
}
})
})
});
},
关键点: $nextTick方法 及 this.$refs.multipleTable.toggleRowSelection(item)方法
2. 表格搜索
表格一个栏目加搜索框,配合filter来过滤数据,搜索框数值变化,自动触发选中项勾选清除,要重选,这是正常功能
如果表格是在form表单中,并且form表单中还有其他input框,那bug来了,
就是表单中的其他不相关input框的数值变化竟然也引起了,表格触发选中项勾选清除,要重选,判断这是由于elementUI封装table组件时搜索功能的input框锁定及触发事件判断写得有问题。
解决方法:
把这种情况下的table单独拿出来写成一个子组件,在子组件里面的搜索框在子组件的作用域里,不受父组件的form表单元素的影响。