材料用户界面(MUI)。如何通过 props 将处理程序传递给 DataGrid 组件(以便在列 type=actions 中使用它们)

Rus*_*aev 5 material-ui

文档说: https: //mui.com/components/data-grid/columns/

如果列类型是“actions”,则需要提供一个 getActions 函数,该函数返回每行可用的操作数组(React 元素)。您可以在返回的 React 元素上添加 showInMenu 属性,以通知数据网格将这些操作分组到行菜单中。

{
  field: 'actions',
  type: 'actions',
  getActions: (params: GridRowParams) => [
    <GridActionsCellItem icon={...} onClick={...} label="Delete" />,
    <GridActionsCellItem icon={...} onClick={...} label="Print" showInMenu />,
  ]
}
Run Code Online (Sandbox Code Playgroud)

如何通过 props onClick 处理程序传递?

<DataGrid deleteHandler={...} printHandler={...} /> 
Run Code Online (Sandbox Code Playgroud)

Rus*_*aev 6

我很抱歉问了个愚蠢的问题。当然,我们可以在 columns prop 中传递处理程序:)))但我找到了更好的解决方案。我不在action列中使用回调处理程序,但我使用组件。

getActions: (params: any) => [
                <GridActionsCellItem
                    icon={<OpenIcon />}
                    label='Open'
                    component={Link}
                    to={`/counterparties/${params.id}`}
                />
Run Code Online (Sandbox Code Playgroud)