我无法在Material-UI数据表的每一行中添加按钮,但我有一个Material-UI数据表,我会像这样渲染
<DataGrid rows={rows} columns={columns} pageSize={5} checkboxSelection />
我已将按钮应放在的列变量'actions'列中。行只是我从道具中获得的一个数据对象。如何在每行中添加按钮(用于编辑行)?我尝试映射数据数组,但是无法将JSX按钮添加到数据的每个对象中
是的你可以。将您的自定义组件添加到ColDef.renderCell
。这是一个例子:
const columns: ColDef[] = [
{ field: "id", headerName: "ID", width: 70 },
{
field: "",
headerName: "Action",
disableClickEventBubbling: true,
renderCell: (params: CellParams) => {
const onClick = () => {
const api: GridApi = params.api;
const fields = api
.getAllColumns()
.map((c) => c.field)
.filter((c) => c !== "__check__" && !!c);
const thisRow = {};
fields.forEach((f) => {
thisRow[f] = params.getValue(f);
});
return alert(JSON.stringify(thisRow, null, 4));
};
return <Button onClick={onClick}>Click</Button>;
}
];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句