javascript - MUI DataGrid 中的 checkboxSelection 可以区分单次检查和多次检查吗?
问题描述
checkboxSelection 是否有多个检查与单个检查的选项?
我在文档中看到的唯一内容是受控选择,它基本上“存储”了您所做的检查和行(如果我理解正确的话)以及我在Api Ref中看到的提到行范围的内容
selectRowRange: (range: {
endId: GridRowId; startId: GridRowId
},
isSelected?: boolean, resetSelection?: boolean) => void
就像我想做的那样,如果您检查主要的(选择所有内容的)然后执行“x”
我有一段代码要在其中编辑行,我希望如果我选择该行仅启用该行的编辑模式,并且如果我选中选择全部并标记全部的复选框,然后在所有行上启用编辑模式(仍在努力,但这就是想法)
我要求这样做是因为基本上当我选择所有这些并“编辑”(我在那里有一个警报)时,它会根据我选择的用户数量显示警报 x 次,这是有道理的,否则我不会当我这样做时,无法一次性删除我的用户
这就是我到目前为止所拥有的
//Variables
const [selectionModel, setSelectionModel] = useState([]);
const [editRowsModel, setEditRowsModel] = React.useState({});
const handleEditRowsModelChange = React.useCallback((model) => {
setEditRowsModel(model);
}, []);
//Edit Component
{field: "edit", width: 70, sortable: false, disableColumnMenu: true,
renderHeader: () => {
return (
<IconButton
onClick={() => {
const selectedIDs = new Set(selectionModel);
estudiantes.filter((x) =>
selectedIDs.has(x.id)).map( x => {
alert("test")
/*const temporalQuery = db.collection("usuarios").doc(user.uid).collection("estudiantes").doc(x.id);
temporalQuery.update({
//update smart coding
nombre: "edited name",
colegio: "edited school",
grado: "edited course"
})*/
})
}}
>
<EditSharpIcon />
</IconButton>
);
}
}
//Data Grid
<DataGrid
localeText={esES.components.MuiDataGrid.defaultProps.localeText}
rows={estudiantes}
columns={columns}
autoHeight
pageSize={pageSize}
onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}
rowsPerPageOptions={[5, 10, 20]}
editRowsModel={editRowsModel}
editMode="row"
onEditRowsModelChange={handleEditRowsModelChange}
components={{
Toolbar: CustomToolbar,
}}
checkboxSelection
//Select component
onSelectionModelChange = {(id) => {
setSelectionModel(id);
const selectedIDs = new Set(id);
const selectedRowData = estudiantes.filter((row) =>
selectedIDs.has(row.id)
);
setEstudiantesData(selectedRowData)
}
}
onCellDoubleClick={(params, event) => {
if (!event.ctrlKey) {
event.defaultMuiPrevented = true;
}
}}
/>
解决方案
推荐阅读
- css - 语义反应/左侧带有文本的按钮
- javascript - 使用 mongo 客户端异步访问 mongo 集合时出错
- php - 在两个表上使用内连接后如何添加多行
- url - URL 是否有效需要协议(例如 http 或 https)?
- spring-boot - 没有 'org.springframework.test.web.servlet.MockMvc 类型的限定 bean
- django - 如何在Django模板中的if语句中调用函数
- angular - 当result为数组时合并两个api调用结果
- postgresql - pgAdmin 中锁定的几何列和查看器未正确显示
- emacs - 启动带有 nix 的 emacs 时出现 Fontconfig 错误
- c++ - Tbb 库:错误:编写自定义类函数而不是 lambda 表达式时调用函数不匹配