DataGridAPI
React DataGrid 组件的 API 参考文档。了解此导出模块的 props、CSS 和其他 API。
演示
导入
import { DataGrid } from '@mui/x-data-grid/DataGrid';
// or
import { DataGrid } from '@mui/x-data-grid';
// or
import { DataGrid } from '@mui/x-data-grid-pro';
// or
import { DataGrid } from '@mui/x-data-grid-premium';
通过阅读关于最小化捆绑包大小的指南,了解两者之间的区别。
用户发起自动调整大小时的选项。
类型:{ columns?: Array<string>, disableColumnVirtualization?: bool, expand?: bool, includeHeaders?: bool, includeOutliers?: bool, outliersFactor?: number }
如果为 true
,则禁用使用 Ctrl/CMD 或 Shift 键进行多选。除非启用了 checkboxSelection
,否则 MIT DataGrid 将忽略此 prop。
类型:bool
默认值:false (MIT Data Grid 的 `!props.checkboxSelection`)
如果事先不知道实际的 rowCount,但有估计值可用,请使用此项。如果某些行有子项(例如在树状数据中),则此数字表示顶级行的数量。仅适用于 paginationMode="server"
且 rowCount="-1"
时
类型:number
不稳定的功能,可能会引入重大更改。对于每个功能,如果未显式将标志设置为 true
,则该功能将被完全禁用,并且任何属性/方法调用都不会产生任何效果。
类型:{ warnIfFocusStateIsNotSynced?: bool }
设置 Data Grid 的筛选模型。
类型:{ items: Array<{ field: string, id?: number
| string, operator: string, value?: any }>, logicOperator?: 'and'
| 'or', quickFilterExcludeHiddenColumns?: bool, quickFilterLogicOperator?: 'and'
| 'or', quickFilterValues?: array }
在单元格上动态应用 CSS 类的函数。
类型:func
返回要在行详细信息中渲染的元素的函数。
类型:func
返回行的估计高度的函数。仅在使用动态行高时有效。一旦测量出行高,此值将被丢弃。
类型:func
function(params: GridRowHeightParams) => number | null
params
具有 GridRowHeightParams 中的所有属性。
返回:估计的行高值。如果为 null
或 undefined
,则应用基于密度的默认行高。
在行上动态应用 CSS 类的函数。
类型:func
function(params: GridRowClassNameParams) => string
params
具有 GridRowClassNameParams 中的所有属性。
返回:要应用于行的 CSS 类。
设置每行行高的函数。
类型:func
function(params: GridRowHeightParams) => GridRowHeightReturnValue
params
具有 GridRowHeightParams 中的所有属性。
返回:行高值。如果为 null
或 undefined
,则应用默认行高。如果为“auto”,则根据内容计算行高。
允许指定行之间间距的函数。
类型:func
function(params: GridRowSpacingParams) => GridRowSpacing
params
具有 GridRowSpacingParams 中的所有属性。
返回:行间距值。
如果为 true
,则隐藏页脚组件。
类型:bool
默认值:false
如果为 true
,则隐藏页脚中的分页组件。
类型:bool
默认值:false
如果为 true
,则隐藏页脚中选定的行数。
类型:bool
默认值:false
如果为 true
,则 Data Grid 在导出到 CSV 或复制到剪贴板时不会使用 valueFormatter
。如果提供了对象,您可以选择忽略 CSV 导出或剪贴板导出的 valueFormatter
。
类型:{ clipboardExport?: bool, csvExport?: bool }
| bool
默认值:false
如果为 select
,则处于不确定状态的组标题复选框(如“全选”复选框)将选择其下的所有行。如果为 deselect
,则它将取消选择其下的所有行。仅在启用 checkboxSelection
时有效。
类型:'deselect'
| 'select'
默认值:"deselect"
单元格渲染时触发的回调,如果单元格可编辑,则返回 true。
类型:func
确定是否可以选择行。
类型:func
如果为 true
,则选择模型将保留不存在的选定行。当使用服务器端分页并且在更改页面时需要保留行选择时,此功能非常有用。
类型:bool
默认值:false
在实现 Logger 接口的组件中传递自定义 logger。
类型:{ debug: func, error: func, info: func, warn: func }
默认值:console
允许传递日志记录级别或 false 以关闭日志记录。
类型:'debug'
| 'error'
| 'info'
| 'warn'
| false
默认值:"error" (开发模式下为 "warn")
单击任何单元格时触发的回调。
类型:func
function(params: GridCellParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有 GridCellParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当双击事件来自单元格元素时触发的回调。
类型:func
function(params: GridCellParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有 GridCellParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当单元格进入编辑模式时触发的回调。
类型:func
function(params: GridCellParams, event: MuiEvent) => void
params
具有 GridCellParams 中的所有属性。event
导致调用此 prop 的事件。
当单元格进入查看模式时触发的回调。
类型:func
function(params: GridCellParams, event: MuiEvent) => void
params
具有 GridCellParams 中的所有属性。event
导致调用此 prop 的事件。
当按键事件来自单元格元素时触发的回调。
类型:func
function(params: GridCellParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有 GridCellParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当 cellModesModel
prop 更改时触发的回调。
类型:func
function(cellModesModel: GridCellModesModel, details: GridCallbackDetails) => void
cellModesModel
包含哪些单元格处于“编辑”模式的对象。details
此回调的附加详细信息。
当单击事件来自列标题元素时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有 GridColumnHeaderParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当 contextmenu 事件来自列标题元素时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent) => void
params
具有 GridColumnHeaderParams 中的所有属性。event
事件对象。
当双击事件来自列标题元素时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有 GridColumnHeaderParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当鼠标进入事件来自列标题元素时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有 GridColumnHeaderParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当鼠标离开事件来自列标题元素时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有 GridColumnHeaderParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当鼠标移出事件来自列标题元素时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有 GridColumnHeaderParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当鼠标悬停事件来自列标题元素时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有 GridColumnHeaderParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当列重新排序时触发的回调。
类型:func
function(params: GridColumnOrderChangeParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
具有 GridColumnOrderChangeParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
在调整列大小时触发的回调。
类型:func
function(params: GridColumnResizeParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有 GridColumnResizeParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当列可见性模型更改时触发的回调。
类型:func
function(model: GridColumnVisibilityModel, details: GridCallbackDetails) => void
model
新模型。details
此回调的附加详细信息。
当列的宽度更改时触发的回调。
类型:func
function(params: GridColumnResizeParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有 GridColumnResizeParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
在应用筛选器之前,当筛选模型更改时触发的回调。
类型:func
function(model: GridFilterModel, details: GridCallbackDetails) => void
model
具有 GridFilterModel 中的所有属性。details
此回调的附加详细信息。
当菜单关闭时触发的回调。
类型:func
function(params: GridMenuParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
具有 GridMenuParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当菜单打开时触发的回调。
类型:func
function(params: GridMenuParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
具有 GridMenuParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当分页元数据更改时触发的回调。
类型:func
function(paginationMeta: GridPaginationMeta) => void
paginationMeta
更新后的分页元数据。
当分页模型更改时触发的回调。
类型:func
function(model: GridPaginationModel, details: GridCallbackDetails) => void
model
更新后的分页模型。details
此回调的附加详细信息。
当首选项面板关闭时触发的回调。
类型:func
function(params: GridPreferencePanelParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
具有 GridPreferencePanelParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当首选项面板打开时触发的回调。
类型:func
function(params: GridPreferencePanelParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
具有 GridPreferencePanelParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当 processRowUpdate
抛出错误或拒绝时调用的回调函数。
类型:func
function(error: any) => void
error
抛出的错误。
当 Data Grid 调整大小时触发的回调函数。
类型:func
function(containerSize: ElementSize, event: MuiEvent<{}>, details: GridCallbackDetails) => void
containerSize
包含 ElementSize 的所有属性。event
事件对象。details
此回调的附加详细信息。
当行被点击时触发的回调函数。如果点击的目标是由内置列添加的交互式元素,则不会调用此回调。
类型:func
function(params: GridRowParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有 GridRowParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当双击事件来自行容器元素时触发的回调函数。
类型:func
function(params: GridRowParams, event: MuiEvent, details: GridCallbackDetails) => void
params
包含 RowParams 的所有属性。event
事件对象。details
此回调的附加详细信息。
当行进入编辑模式时触发的回调函数。
类型:func
function(params: GridRowParams, event: MuiEvent) => void
params
具有 GridRowParams 中的所有属性。event
导致调用此 prop 的事件。
当行进入查看模式时触发的回调函数。
类型:func
function(params: GridRowParams, event: MuiEvent) => void
params
具有 GridRowParams 中的所有属性。event
导致调用此 prop 的事件。
当 rowModesModel
prop 更改时触发的回调函数。
类型:func
function(rowModesModel: GridRowModesModel, details: GridCallbackDetails) => void
rowModesModel
包含哪些行处于“编辑”模式的对象。details
此回调的附加详细信息。
当一个或多个行的选择状态更改时触发的回调函数。
类型:func
function(rowSelectionModel: GridRowSelectionModel, details: GridCallbackDetails) => void
rowSelectionModel
包含 GridSelectionModel 的所有行 id。details
此回调的附加详细信息。
在列排序之前,当排序模型更改时触发的回调函数。
类型:func
function(model: GridSortModel, details: GridCallbackDetails) => void
model
包含 GridSortModel 的所有属性。details
此回调的附加详细信息。
使用组件 UI 动态选择 pageSize。
类型:Array<number
| { label: string, value: number }>
默认值:[25, 50, 100]
分页可以在服务器端或客户端处理。如果您想在客户端处理分页,请将其设置为 'client'。如果您想在服务器端处理分页,请将其设置为 'server'。
类型:'client'
| 'server'
默认值:"client"
类型为 GridPaginationModel 的分页模型,它引用当前的 page
和 pageSize
。
类型:{ page: number, pageSize: number }
在行和单元格编辑中用新值更新行之前调用的回调函数。
类型:func
function(newRow: R, oldRow: R, params: { rowId: GridRowId }) => Promise| R
newRow
包含新值的行对象。oldRow
包含旧值的行对象。params
附加参数。
返回值: 用于更新行的最终值。
设置总行数,如果它与值 rows
prop 的长度不同。如果某些行有子项(例如在树形数据中),则此数字表示顶级行的数量。仅适用于 paginationMode="server"
,当 paginationMode="client"
时忽略。
类型:number
在测量行高后,重新计算行位置之前等待的毫秒延迟。当使用动态行高时,将其设置为较低的值可能很有用,但在显示大量行时可能会降低性能。
类型:number
默认值:166
排序可以在服务器端或客户端处理。如果您想在客户端处理排序,请将其设置为 'client'。如果您想在服务器端处理排序,请将其设置为 'server'。
类型:'client'
| 'server'
默认值:"client"
ref
被转发到根元素。在网格视口底部渲染的页脚组件。
默认组件: GridFooter
在页脚中渲染的行计数组件
默认组件: GridRowCount
在 Grid Columns 面板内部用于管理列的组件。
类名: .MuiDataGrid-columnsManagement
默认组件: GridColumnsManagement
这些类名对于使用 CSS 进行样式设置很有用。当触发特定状态时,它们会应用于组件的插槽。
如果 headerAlign="center"
,则应用于聚合时标题根元素的样式。
规则名称:aggregationColumnHeader--alignCenter
如果 headerAlign="left"
,则应用于聚合时标题根元素的样式。
规则名称:aggregationColumnHeader--alignLeft
如果 headerAlign="right"
,则应用于聚合时标题根元素的样式。
规则名称:aggregationColumnHeader--alignRight
如果 showColumnVerticalBorder={true}
,则应用于单元格的样式。
规则名称:cell--withLeftBorder
如果 showColumnVerticalBorder={true}
,则应用于单元格的样式。
规则名称:cell--withRightBorder
如果 headerAlign="center"
,则应用于列标题的样式。
规则名称:columnHeader--alignCenter
如果 headerAlign="right"
,则应用于列标题的样式。
规则名称:columnHeader--alignRight
如果 showColumnVerticalBorder={true}
,则应用于列标题的样式。
规则名称:columnHeader--withRightBorder
应用于列管理页脚元素的样式。
规则名称:columnsManagementFooter
如果详细信息面板切换单元格元素已展开,则应用于它的样式。
规则名称:detailPanelToggleCell--expanded
应用于页脚行内单元格根元素的样式。
规则名称:footerCell
应用于页脚容器元素的样式。
规则名称:footerContainer
应用于菜单元素的样式。
规则名称:menu
应用于菜单图标元素的样式。
规则名称:menuIcon
应用于菜单图标按钮元素的样式。
规则名称:menuIconButton
应用于菜单列表元素的样式。
规则名称:menuList
如果菜单打开,则应用于菜单图标元素的样式。
规则名称:menuOpen
应用于面板页脚元素的样式。
规则名称:panelFooter
当虚拟化内容的高度大于虚拟化容器时,应用于该虚拟化内容的样式。
规则名称:virtualScrollerContent--overflowed
您可以使用以下自定义选项之一来覆盖组件的样式
- 使用全局类名。
- 在自定义主题中使用规则名称作为组件的
styleOverrides
属性的一部分。
源代码
如果您在此页面中没有找到所需的信息,请考虑查看组件的实现以获取更多详细信息。