Antd搜索在使用值进行搜索时不会扩展子列表子列表,它可以很好地处理列表和子列表,而不是处理子列表子列表。
下面是沙箱链接
https://codesandbox.io/s/controlled-tree-antd-4-19-1-forked-3h6fne
当我搜索时,我得到了如下所示,在数据列表树下有搜索查找,但它没有扩展。

我期望它会像下面这样出现,它也应该展开数据列表树,因为它下面有一个搜索发现。并消除与搜索键不匹配的剩余子。
它不会在搜索后打开子列表。

最后,我需要如下所示,在消除了不匹配的值之后

有人能帮我吗?
发布于 2022-11-25 13:48:08
下面是对答案的更改,其中数据列表树在其下有搜索发现时展开。并消除与搜索键不匹配的剩余子。希望这对某人有帮助:)
在下面的链接中,它适用于所有场景根级、子根和最终子搜索。
我发现这篇文章:过滤嵌套的树对象而不丢失结构How filter in a nested tree object without losing structure in javascript?
function searchFilter(array, name) {
return array.reduce((r, { children = [], ...o }) => {
if (hasSearchTerm(o.title, name)) {
if (children) {
r.push(Object.assign(o, { children }));
return r;
} else {
r.push(o)
return r;
}
}
children = searchFilter(children, name);
if (children.length) {
r.push(Object.assign(o, { children }));
}
return r;
}, []);
}附加代码框链接:https://codesandbox.io/s/controlled-tree-antd-4-19-1-forked-3h6fne?file=/index.js
https://stackoverflow.com/questions/74557769
复制相似问题