1.elementui提供了一个方法select,两个参数,第一个参数为已选中的数据构成的数组,第二个参数为当前选择的数据;
2.在select方法中,clearSelection()的作用是清空所有数据的选中状态;
3.toggleRowSelection()方法的作用是将当前选择的数据切换状态
<el-table
ref="treeTable"
data="list"
row-key="id"
:tree-props="{children: 'childrenList'}" // 指定树形数据中的下级数组
@select="selectRow"
>
</el-table>
// select方法
selectRow(selection,val) {
// 接收两个参数,selection为所有选中数据的集合,val为当前选择的数据
// 先将所有选中的数据变为未选中状态
this.$refs.treeTable.clearSelection();
// 如果选择完当前数据后selection为空数组,说明现在是取消勾选,无选中数据
if (selection.length == 0){
this.selectedRow = []; // 清空data中绑定的selectedRow
return
};
// 切换最近一次选择数据的状态
this.$refs.treeTable.toggleRowSelection(val, true);
// 更新data中的selectedRow
this.selectedRow = val;
}