Material Ui DataGrid IsRowSelectable 在 React ts 中不起作用

Posted

技术标签:

【中文标题】Material Ui DataGrid IsRowSelectable 在 React ts 中不起作用【英文标题】:Material Ui DataGrid IsRowSelectable not working in React ts 【发布时间】:2021-08-12 06:35:55 【问题描述】:

我正在使用 React TSX,我有一个启用了复选框选择的 Datagrid。我想禁用某些行的选择。我开始知道 isRowSelectable 属性在材质 UI 数据网格中用于此目的。

参考: https://material-ui.com/components/data-grid/selection/#disable-selection-on-certain-rows

https://codesandbox.io/s/dxgt5?file=/demo.js

但是当我在下面的代码中使用它时

<DataGrid autoPageSize pagination
    rows=Records
    columns=columns
    isRowSelectable = (params:any) =>params.Records.Status = "success"
    checkboxSelection />

它给了我以下错误

“IntrinsicAttributes”类型上不存在属性“isRowSelectable” & 挑选

详细错误:

类型 ' autoPageSize: true;分页:真;行:从不[];列: GridColDef[]; isRowSelectable: (params: any) => boolean; 复选框选择:真; onSelectionModelChange: (e: GridSelectionModelChangeParams) => 无效; ' 不可分配给类型 'IntrinsicAttributes & Pick & ...; & RefAttributes<...>'。财产 'IntrinsicAttributes & 类型上不存在'isRowSelectable' Pick

我搜索了解决方案,但找不到。 有人可以帮我吗?

【问题讨论】:

【参考方案1】:

可能您使用的是旧版本的数据网格。此功能已于上周推出。请更新您的数据网格包

首先使用以下命令卸载数据网格

npm uninstall @material-ui/data-grid

然后使用下面的命令安装它

npm install @material-ui/data-grid

参考:https://github.com/mui-org/material-ui-x/pull/1659

【讨论】:

我试过了,但仍然出现错误,但现在出现了不同的错误。类型 '(params: any) => string' 不可分配给类型 '(params: GridRowParams) => boolean'。类型“字符串”不可分配给类型“布尔”。预期的类型来自属性 'isRowSelectable',它在类型 'IntrinsicAttributes & Omit & ...; & RefAttributes<...>' 你应该从你用于 isRowSelectable 道具值的函数返回布尔值

以上是关于Material Ui DataGrid IsRowSelectable 在 React ts 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Material UI dataGrid 性能

Material Ui DataGrid IsRowSelectable 在 React ts 中不起作用

Material-UI DataGrid:从状态中删除一行导致无法读取属性错误

如何以编程方式对 Material UI DataGrid 列进行排序?

如何使用 Material-UI DataGrid 保存列状态?

当页面为 1 时,Material-UI Datagrid 分页从第二页开始