我们将企业ag-grid从16.0.1升级到25.1.0。因此,树过滤的算法被改变了。
以前它不包括不匹配的子项,但现在它显示了匹配父项的所有子项。
例如,如果我们有一个树数据:
[
{
path: ['One'],
},
{
path: ['One', 'Twenty'],
},
{
path: ['One', 'Thirty'],
},
{
path: ['Two'],
},
]并使用以下设置:
autoGroupColumnDef: {
filter: 'agTextColumnFilter',
floatingFilter: true
},
treeData: true,
getDataPath: ({ path }) => path,它们显示为
- One
- Twenty
- Thirty
- Two在按“1”过滤之后,它现在看起来像
- One
- Twenty
- Thirty- OnefilterValueGetter: ({ data: { path } }) => path[path.length - 1]但是它不起作用,因为匹配的父代的子代甚至都不会进入这个函数。它只在“一个”和“两个”父母上运行。
如果我想排除不匹配的父项的子项,如何设置此树形过滤?
发布于 2021-05-21 23:28:06
Ag Grid支持小组帮助了我,非常感谢!
也许他们的答案对其他人有用。
我们应该使用
excludeChildrenWhenTreeDataFiltering: true,如https://www.ag-grid.com/javascript-grid/tree-data/#tree-data-filtering中所述
https://stackoverflow.com/questions/67569120
复制相似问题