【问题标题】:How to disable the menu button option in DataGrid MUI?如何禁用 DataGrid MUI 中的菜单按钮选项?
【发布时间】:2025-12-01 22:35:01
【问题描述】:

我想禁用弹出所有选项的按钮,例如:排序、过滤、隐藏等。

我知道您可以使用sortable: false 删除列中的排序选项,如果我想删除其他所有内容,那么我可以简单地使用这两个disableColumnFilter 删除过滤器和disableColumnSelector 删除几乎所有内容else 但是,即使我删除了所有选项,按钮仍然存在,我想删除它。

【问题讨论】:

  • disableColumnFilter 不适合您?您想完全删除按钮还是只希望它显示为禁用状态(无法点击,变灰)。
  • 我找到了答案,显然我会在一秒钟内发布 3 个修饰符

标签: reactjs datagrid material-ui


【解决方案1】:

我应该在问之前做更多的研究,但在检查了其他东西后我找到了答案。

所以你有 3 个“修饰符”

  • disableColumnMenu
  • disableColumnFilter
  • disableColumnSelector

disableColumnMenu 将完全删除带有选项的按钮 disableColumnFilter 只会删除过滤器选项 disableColumnSelector 将删除隐藏/显示列

您可以在使用简单的sortable = true/false 创建列时检查排序真/假

Ej:

const columns = [
        { field: 'name', headerName: 'Name', width: 450, sortable: true/false}
      ]

这就是disableColumnMenu 的样子,它根本不再显示按钮

【讨论】:

  • 知道如何只为特定列禁用列菜单吗?
  • 您可以尝试在您想要禁用菜单的列中添加参数。不过我不确定这是否可行。
  • 确实,将 disableColumnMenu: true, 添加到列定义对象(GridColDef 类型)就可以了。谢谢。
最近更新 更多