onSelectChange = (selectedRowKeys, selectedRows ) => { // const planIdList = selectedRows.map(item => item.planId); this.setState({selectedRowKeys, selectedRows}); console.log(selectedRows); // return planIdList; return selectedRows; }; bulkDeletion = () => { // 批量删除 this.onSelectChange(); this.setState({ selectedRowKeys: [], selectedRows: [], }); };返回的是undefined
时间: 2023-12-14 15:37:18 浏览: 32
可能是因为在`onSelectChange`方法中没有返回任何值,导致在调用该方法后返回的是`undefined`。你可以尝试将`return selectedRows;`语句放到`setState`方法的回调函数中,确保在状态更新完成后再返回`selectedRows`,例如:
```
onSelectChange = (selectedRowKeys, selectedRows) => {
this.setState({ selectedRowKeys, selectedRows }, () => {
console.log(selectedRows);
return selectedRows;
});
};
bulkDeletion = () => {
// 批量删除
const selectedRows = this.onSelectChange();
this.setState({
selectedRowKeys: [],
selectedRows: [],
});
};
```
这样就可以确保在状态更新完成后,`selectedRows`才会被正确返回。
相关问题
var item = info.SelectedRows as student;这串代码错在哪里
这段代码可能会产生编译时错误,因为 `info.SelectedRows` 返回的是一个对象数组(object[]),而不是 student 类型的对象。你可以尝试将其转换为 student 类型的对象数组,如下所示:
```
var items = info.SelectedRows.Cast<student>().ToArray();
```
或者,如果你只需要转换一个对象,可以使用以下代码:
```
var item = info.SelectedRows.FirstOrDefault() as student;
if (item != null)
{
// 处理 student 对象
}
else
{
// 未选择任何行或者选择的行不是 student 类型
}
```
student为一个表名var item = info.SelectedRows as student;这串代码错在哪里
这段代码的错误可能在于数据类型转换 `as student`,如果 `info.SelectedRows` 不是 `student` 类型的话,转换就会失败,此时 `item` 的值为 `null`。因此,建议在进行类型转换之前,先判断 `info.SelectedRows` 是否为 `student` 类型,例如:
```
if (info.SelectedRows is student)
{
var item = (student)info.SelectedRows;
// 进行后续操作
}
else
{
// 错误处理
}
```