gpt4 book ai didi

reactjs - Material -UI : DataGrid/XGrid How to detect density change?

转载 作者:行者123 更新时间:2023-12-04 11:35:33 24 4
gpt4 key购买 nike

我想在用户更改密度表时更改操作图标大小:
当行较小时,右侧的钢笔图标应更改大小,如下所示:
enter image description here
目前我使用 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。
有没有更好的方法呢? :)

最佳答案

您可以为图标大小声明另一个状态并在 onStateChange 中更改它.

onStateChange={(v) => {
setDensity(v.state.density.value);
// HERE SET ICON SIZE STATE
}
然后,使用该状态值作为图标大小 Prop 。

关于reactjs - Material -UI : DataGrid/XGrid How to detect density change?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66458504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com