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
相关产品推荐
相关产品推荐

