批量操作时如何高效处理选中状态和提交数据?
我正在做一个后台管理页面,表格里有几百条数据,用户可以勾选多行然后批量删除或修改状态。现在的问题是:我用一个数组 selectedIds 存储选中的ID,但每次点击复选框都要遍历整个列表去更新状态,感觉性能很差,尤其数据一多就卡。
而且提交的时候,后端要求传的是完整对象数组,不是只传ID。我试过在提交时再根据ID去原数据里找对应对象,但代码很啰嗦还容易出错。有没有更优雅的方式?比如直接维护一个选中对象的数组?
const handleSelect = (id) => {
if (selectedIds.includes(id)) {
setSelectedIds(selectedIds.filter(item => item !== id));
} else {
setSelectedIds([...selectedIds, id]);
}
};
暂无解答