datagrid - 如何禁用特定的 Material-UI DataGrid 列菜单选项?
问题描述
我知道 'disableColumnMenu' 将禁用整个列,将 'sortable' 和 'filterable' 设置为 false 将删除该列的这些选项。有没有办法禁用特定的菜单选项,或者以其他方式修改列菜单?我想保持列可排序和可过滤,但删除“显示”和“隐藏”选项。
解决方案
您可以通过创建自定义菜单并仅包括过滤器和排序菜单选项来做到这一点。
// Assuming other imports such as React...
import {
GridColumnMenuContainer,
GridFilterMenuItem,
SortGridMenuItems
} from '@material-ui/data-grid';
const CustomColumnMenu = (props) => {
const { hideMenu, currentColumn } = props;
return (
<GridColumnMenuContainer
hideMenu={hideMenu}
currentColumn={currentColumn}
>
<SortGridMenuItems onClick={hideMenu} column={currentColumn} />
<GridFilterMenuItem onClick={hideMenu} column={currentColumn} />
</GridColumnMenuContainer>
);
};
export default CustomColumnMenu;
然后,像这样在网格中使用它:
// Assuming imports are done including DataGrid, CustomColumnMenu, and React...
<DataGrid
// Assuming: rows, rowHeight, etc...
components={{
ColumnMenu: CustomColumnMenu
}}
/>
推荐阅读
- node.js - 如何通过苹果身份验证实现护照
- html - 使内容适合弯曲方向列
- java - Apache Beam 独特元素的数量
- sling - Sightly/HTL listChildren 与当前路径不同
- c++ - 如何将 boost asio tcp 套接字传递给线程以向客户端或服务器发送心跳
- kubernetes - Google Kubernetes Engine 入口注释
- html - col-lg-2 col-md-4 col-6 在 bootstrap 4 上不起作用。在移动视图中,它们显示为 col-md-4 而不是 col-6
- .net - 输入类型对象可以包含接口类型的属性吗?
- c++ - 没有 STL 容器的迭代器
- java - 作为bean传递时没有得到服务器响应