批量操作时如何高效处理选中状态和提交数据?

苗苗 Dev 阅读 3

我正在做一个后台管理页面,表格里有几百条数据,用户可以勾选多行然后批量删除或修改状态。现在的问题是:我用一个数组 selectedIds 存储选中的ID,但每次点击复选框都要遍历整个列表去更新状态,感觉性能很差,尤其数据一多就卡。

而且提交的时候,后端要求传的是完整对象数组,不是只传ID。我试过在提交时再根据ID去原数据里找对应对象,但代码很啰嗦还容易出错。有没有更优雅的方式?比如直接维护一个选中对象的数组?

const handleSelect = (id) => {
  if (selectedIds.includes(id)) {
    setSelectedIds(selectedIds.filter(item => item !== id));
  } else {
    setSelectedIds([...selectedIds, id]);
  }
};
我来解答 赞 1 收藏
二维码
手机扫码查看
暂无解答

暂无解答