【发布时间】:2021-03-03 13:55:59
【问题描述】:
我想在用户更改密度表时更改操作图标大小: 当行较小时,右侧的钢笔图标应该改变大小,如下所示:
目前我使用 onStageChange 来捕获表上的所有更改并在组件上设置状态变量
...
const [density, setDensity] = useState<GridDensity>();
...
const actionEdit: GridColDef = {
field: '',
type: 'action',
align: 'right',
disableColumnMenu: true,
disableClickEventBubbling: true,
resizable: false,
flex: 1,
headerClassName: 'edit-theme-header',
cellClassName: 'edit-theme-cell',
renderCell: () => <EditAction size={density} onClick={() => alert('click')} />
};
...
<XGrid
.....
onStateChange={(v) => setDensity(v.state.density.value)}
/>
它可以工作,但所有状态变化都会调用 onStateChange(不仅是密度)。 有更好的方法吗? :)
【问题讨论】:
标签: reactjs material-ui