jsTree仅搜索子节点的查询

时间:2018-06-14 11:40:58

标签: jstree jstree-search

我正在使用jsTree和搜索插件。现在我希望搜索只匹配子节点而不是父节点。

这就是我实施的内容:

"search": {
        case_insensitive: true,
        show_only_matches: true,
        search_leaves_only: true,
    }

这是我树的一个例​​子:

▼ Parent1
    └ child 1
  ParentABC
▼ Parentxyz
    └ child abc

ParentABC没有子节点,如果我搜索“abc”,则会显示ParentABCchild abc,但预期结果应仅为child abc

search_leaves_only: true在子节点上运行良好,因为它们本身没有子节点。 jsTree在没有子节点时将节点视为叶子。

那么我只能以何种方式为子节点进行搜索查询?

修改

我只需要使用自定义函数search_callback。这是:

"search": {
        show_only_matches: true,
        search_callback: function (searchString, node) {
            if (node.parent != "#" && node.text.toUpperCase().includes(searchString.toUpperCase()) == true) {
                return node;
            }
        }
    }    

我填充树的方式是使用JSON数据,所有父节点的属性parent都为"#"case_insensitive: true不再有效,这就是我使用toUpperCase()

的原因

0 个答案:

没有答案