1、在表格组件中需要进行批量删除
-方法一(利用数组循环)
2、首先我们需要传回的参数为所选中的id数组,
在删除事件绑定相应的方法,在方法中我们要实现的是将选中删除的数据的id传回到后台中去,而接口中的id会在selectedRows
中
所有我们将这里的selectedRows
更新selectedRows
中,当然在初始的state我们定义为空
3、回到删除方法中
handleDeleteOk = () => {
confirm({
title: '确认要删除吗',
onOk() {
const idList = [];
//将选中的数据中的id循环到我们自己定义的idList中
this.state.selectedRows.forEach(item => {
const id = item.registrationId;
//push到idList中
idList.push(id);
});
const { dispatch } = this.props;
dispatch({
type: 'recycleBin/batchRemove',
payload: {
registrationIdList: idList,
},
}).then(() => {
this.getPageList();
});
},
onCancel() {},
});
};
方法二(selectedRowKeys)
antd-Table
中的selectedRowKeys
属性其实就是我们批量选中的数据,所以我们只需要去更新使用这个属性就行了。- 和以上方法其实步骤一样:
1、传入的时候直接将值传入接口就行了
2、列下主要代码
this.state = {
selectedRowKeys: [],
// 更新selectedRowKeys
onSelectChange = selectedRowKeys => {
this.setState({ selectedRowKeys });
};
const rowSelection = {
selectedRowKeys,
onChange: this.onSelectChange,
};
4、OK