You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Table行选择功能异常:仅表头生成复选框数据行无复选框

故障根因

你代码的核心问题出在数据行单元格的渲染逻辑上:

  • 你在遍历row.cells渲染时,错误提取了cell.render('Cell').props.value作为单元格内容。而你通过useRowSelect注入的选择列的Cell配置返回的是<IndeterminateCheckbox /> React组件对象,不存在props.value属性,因此选择列的单元格直接被渲染为空,这就是数据行看不到复选框的直接原因。
  • 另外你没有给<td>绑定cell.getCellProps(),会丢失react-table内置的事件、属性配置,可能影响后续行选择的交互逻辑。

修复方案

直接替换tbody中row.cells.map的逻辑即可,修改后的代码如下:

{
  row.cells.map(cell => {
    // 直接调用cell.render('Cell')渲染完整单元格内容,同时绑定cell原生属性
    return <td {...cell.getCellProps()}>{cell.render('Cell')}</td>
  })
}

修改后重新运行,数据行的复选框就可以正常渲染,行选择、全选功能也能正常交互。


可选优化

你当前的useEffect只在组件初始化时触发一次,如果你后续需要支持数据刷新,可以调整依赖逻辑;另外如果后端返回的数据量小于3页,默认pageIndex:2会导致初始渲染为空,可根据实际业务调整默认页码为0。

内容的提问来源于stack exchange,提问作者gwydion93

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 16:15:03