gpt4 book ai didi

reactjs - MUI - 在 DataGrid 中禁用多行选择

转载 作者:行者123 更新时间:2023-12-04 07:53:23 34 4
gpt4 key购买 nike

我想阻止 MUI DataGrid多个复选框部分。当我选择复选框部分时,应选择特定行,而其他行保持未选择状态。我试过 disableMultipleSelection选项,但它不起作用。

<DataGrid
rows={cycle}
columns={columns}
pageSize={10}
checkboxSelection
disableMultipleSelection
onRowSelected={({ data, isSelected }) => {
setDisplay(isSelected);
setCycleId(data.key);
setCycleImg(data.storageRef);
}}
/>
enter image description here

最佳答案

要禁用多行选择,您必须设置 checkboxSelection Prop 到false . disableMultipleSelection仅适用于 DataGridPro ,不是 DataGrid .

<DataGrid
{...props}
checkboxSelection={false} // or remove it because it's false by default
/>
如果您需要选择复选框和 single row selection ,您可能需要自己控制选择状态并在选择模型更改时删除除最新选择之外的所有选择:
const [selectionModel, setSelectionModel] = React.useState<GridRowId[]>([]);

return (
<div style={{ height: 400, width: '100%' }}>
<DataGrid
rows={rows}
columns={columns}
pageSize={5}
checkboxSelection
selectionModel={selectionModel}
hideFooterSelectedRowCount
onSelectionModelChange={(selection) => {
if (selection.length > 1) {
const selectionSet = new Set(selectionModel);
const result = selection.filter((s) => !selectionSet.has(s));

setSelectionModel(result);
} else {
setSelectionModel(selection);
}
}}
/>
</div>
);
现场演示
V5
Codesandbox Demo
V4
Edit 66828464/material-ui-data-grid

关于reactjs - MUI - 在 DataGrid 中禁用多行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66828464/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com