自定义 GroupRow 呈现 (mbrn/MaterialTable) React
Custom GroupRow rendering (mbrn/MaterialTable) React
我正在自定义 mbrn/material-table 的 groupRow,但我没有找到相关文档。
https://material-table.com/#/docs/features/grouping
到目前为止,我设法使 groupRow 及其工作正常。但是现在我不知道如何在展开 groupRow 时呈现 table 行。
我尝试使用 MTableBody
但记录没有显示
<tr className="MuiTableRow-root">
<td
className="MuiTableCell-root MuiTableCell-alignLeft MuiTableCell-paddingNone MuiTableCell-body py-2"
colSpan={visiblecolumns + isGroupedAndHidden}
>
<button className="d-flex Card w-100">
<div className="ml-3 text-left">
<div className="text--bold text--muted text--xs">
{props.groups[0].title}
</div>
<div className="pt-1 pb-1">
{groupheader.title == 'Priority' ? (
<Priority value={groupData.value} />
) : groupheader.title == 'Time' ? (
<DateFormatter value={groupData.value} relative={true} />
) : (
groupData.value
)}
</div>
</div>
<div className="ListGroupHeader__meta d-flex align-items-center justify-content-end">
<span className="ListGroupHeader__count ml-3 mr-1">
{alerts.length}
</span>{' '}
alert{alerts.length > 1 ? 's' : ''}
<ChevronRight
className="text-muted"
style={{ fontSize: '30px' }}
/>
</div>
</button>
<MTableBody {...props} />
</td>
</tr>
这就是我的代码的样子。我很困惑,我不知道让它工作缺少什么
由您参考提供,文档说
You can override grouped row component with overriding components.GroupRow
这正是您所做的,您高估了整个组件,但该组件有很多您错过的功能,例如展开和显示组的内容。
这是原始组件 - https://github.com/mbrn/material-table/blob/master/src/components/m-table-group-row.js
所以您所做的就是复制并更改或创建您自己的具有相同功能的组件。
在下一个示例中,我采用了原始组件并根据您的结构对其进行了更改(这远非完美,只是向您展示了方法)。
我复制了 MTableGroupRow 和 MTableCell(因为 Cell 组件是 TableRow 的一部分,必须更改)并将它们命名为 CustomGroupRow 和 CustomCell。
我正在自定义 mbrn/material-table 的 groupRow,但我没有找到相关文档。
https://material-table.com/#/docs/features/grouping
到目前为止,我设法使 groupRow 及其工作正常。但是现在我不知道如何在展开 groupRow 时呈现 table 行。
我尝试使用 MTableBody
但记录没有显示
<tr className="MuiTableRow-root">
<td
className="MuiTableCell-root MuiTableCell-alignLeft MuiTableCell-paddingNone MuiTableCell-body py-2"
colSpan={visiblecolumns + isGroupedAndHidden}
>
<button className="d-flex Card w-100">
<div className="ml-3 text-left">
<div className="text--bold text--muted text--xs">
{props.groups[0].title}
</div>
<div className="pt-1 pb-1">
{groupheader.title == 'Priority' ? (
<Priority value={groupData.value} />
) : groupheader.title == 'Time' ? (
<DateFormatter value={groupData.value} relative={true} />
) : (
groupData.value
)}
</div>
</div>
<div className="ListGroupHeader__meta d-flex align-items-center justify-content-end">
<span className="ListGroupHeader__count ml-3 mr-1">
{alerts.length}
</span>{' '}
alert{alerts.length > 1 ? 's' : ''}
<ChevronRight
className="text-muted"
style={{ fontSize: '30px' }}
/>
</div>
</button>
<MTableBody {...props} />
</td>
</tr>
这就是我的代码的样子。我很困惑,我不知道让它工作缺少什么
由您参考提供,文档说
You can override grouped row component with overriding
components.GroupRow
这正是您所做的,您高估了整个组件,但该组件有很多您错过的功能,例如展开和显示组的内容。
这是原始组件 - https://github.com/mbrn/material-table/blob/master/src/components/m-table-group-row.js
所以您所做的就是复制并更改或创建您自己的具有相同功能的组件。
在下一个示例中,我采用了原始组件并根据您的结构对其进行了更改(这远非完美,只是向您展示了方法)。 我复制了 MTableGroupRow 和 MTableCell(因为 Cell 组件是 TableRow 的一部分,必须更改)并将它们命名为 CustomGroupRow 和 CustomCell。