【发布时间】:2023-03-04 08:57:01
【问题描述】:
目前我有一张使用material-table 的员工表。有一些带有某些标志的员工使背景行变红。这是它的样子:
我想要做的是能够编辑具有红色背景的行并且仅这些行。我不想将editable 道具放在整个表格上,因为这会占用每一行的图标空间,但我只想能够编辑这些特殊的行标志。
这是我的 React 代码。请注意,forgotClockOut 是我拥有的特殊标志。
<MaterialTable
icons={icons}
title="Daily Report"
columns={[
{ title: 'Name', field: 'name' },
{
title: 'Time In',
field: 'started',
render: ({ started }) =>
started
? moment(started).format('h:mm A')
: 'Not yet',
cellStyle: (value, { started, clockedOut }) => {
if (!started) {
return null;
}
if (clockedOut) {
return { color: 'red' };
}
return { color: '#06c92d' };
},
},
{ title: 'Time Out', field: 'clockedOut', render: ({clockedOut}) => clockedOut ? moment(clockedOut).format('h:mm A') : 'Not yet'},
{ title: 'Time Worked', field: 'minutesWorked', render: ({minutesWorked}) => `${Math.floor(minutesWorked / 60)}h ${minutesWorked % 60}m`},
]}
options={{
rowStyle: ({forgotClockOut}) => {
if(forgotClockOut) {
return { backgroundColor: '#ffaaaa' };
}
}
}}
onRowClick={(event, rowData) => {
const {forgotClockOut} = rowData;
// ?? What to do here ??
}}
data={employees}
/>
有没有办法只编辑使用material-table 制作的表格中的某些行?
【问题讨论】:
-
你能分享一下你的代码如何显示
employees吗? -
@bertdida 当然!我已将其添加到问题中。
标签: javascript reactjs material-ui material-table