您可以通过 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