You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编程实现sim-tree插件加载完成后默认折叠所有树节点

sim-tree 初始化强制全折叠实现方法

sim-tree 本身没有提供配置项可以关闭「包含已勾选子项时默认展开」的默认逻辑,直接在树渲染完成的done回调里手动重置所有节点状态即可,不会影响已有的勾选值、父子关联勾选等原有功能。

修改步骤

你原来的done回调是空的,直接把折叠逻辑填进去即可,修改后的simTree初始化代码段:

var tree = simTree({
    el: '#treez',
    data: list,
    check: true,
    linkParent: true,
    onClick: function (item) {
        console.log(item)
    },
    onChange: function (item) {
        console.log(item)
        var formData = JSON.stringify(item);
    },
    done: function () {
        // 渲染完成后将所有展开节点重置为折叠
        $('#treez').find('.sim-tree-node.open').each(function () {
            $(this).removeClass('open');
            $(this).children('.sim-tree-children').hide();
        });
    }
});

注意点

  • 该逻辑仅修改节点的展开/折叠显示状态,不会改动任何节点的勾选属性,加载后你之前设置的checked=true项依然会保持选中
  • 原有点击箭头展开/折叠、勾选联动的交互完全不受影响
  • 如果需要个别节点默认展开,只要在遍历的时候判断对应节点的id,跳过不需要折叠的节点即可

内容的提问来源于stack exchange,提问作者Zorg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 13:01:06