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

MUI X Data Grid设置预选行后无法选择其他行问题求助

解决MUI Data Grid预选行后无法选择其他行的问题

问题出在selectionModel的绑定逻辑上:你直接把它绑定到了静态的movieCrewList数组,而非受控的状态变量。当尝试选择新行时,onSelectionModelChange虽更新了selectedTableData状态,但表格的选择状态始终被初始的movieCrewList固定,导致无法响应新的选择操作。

修复步骤:

  • 用预选的ID数组初始化状态变量,替代空数组
  • 将selectionModel绑定到状态变量,让表格选择状态与状态同步

修正后的完整代码:

const movieCrewList = movieCrew.map((item) => item.id);
// 用预选ID数组初始化状态
const [selectedTableData, setSelectedTableData] = React.useState(movieCrewList);

<DataGrid
  rows={crewData}
  columns={columns}
  pageSize={5}
  rowsPerPageOptions={[5]}
  checkboxSelection
  onSelectionModelChange={(selectionModel) => {
    setSelectedTableData(selectionModel);
  }}
  // 绑定到状态变量,实现受控选择
  selectionModel={selectedTableData}
/>

修改后,表格会先预选movieCrewList中的行,后续选择其他行时,状态会实时更新,表格也会同步显示新的选择结果,不会再出现类似"禁用"的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:35:24