Ag-Grid - 将过滤器添加到单元格的右键单击上下文菜单

问题描述 投票:0回答:1

有没有办法右键单击单元格并选择“过滤依据”?理想情况下,它可以添加到上下文菜单中。

filter ag-grid
1个回答
0
投票

您可以通过 contextMenu

 属性自定义 
getContextMenuItems
 来实现它。

举个简单的例子:

function myOwnContextMenuItems(params) {
    const menuItems = [
    {
      // custom item
      // params.value here is a cell value (country name in your case)
      name: 'Filter by ' + params.value, 
      action: () => {
        // call sorting function here (also via params.api or even custom-one)
      },
    },
}

const gridOptions = {
    ...,
    getContextMenuItems: myOwnContextMenuItems,
}

防止出现问题(我是否应该手动添加所有“默认”菜单项?)

  • 是的,如果您需要,自定义菜单逻辑是一种覆盖,您可以添加/删除默认内置项目或实现自定义。

PS:上下文菜单 - 是一种单元格包装器,当您右键单击其他单元格(其他列,而不是国家/地区)时

params.value
会有所不同。

PSS:当然,您可以通过有条件地添加“过滤依据”菜单项仅当列为“国家/地区”时来处理它,要识别该列,您必须深入探索

params
,因为它确实包含漂亮的内容几乎所有所需的数据。

更新:01.2024

正如我试图解释的那样,可以通过

params
访问几乎所有内容:

node
通过
params.node

columnApi
通过
params.columnApi

column
(结构)通过
params.column

或通过

params.api

直接root API

© www.soinside.com 2019 - 2024. All rights reserved.