我正在使用带有选择模式“3”的 Dynatree,它启用了分层选择模式。
当我的树渲染时,所有具有子节点的节点都默认渲染为选中状态。默认情况下,叶节点呈现未选中状态。如果我开始手动选择节点,树会按预期运行。
如何强制默认取消选中所有节点?
笔记:
- 动力树 1.2.1 RC3
- 树一开始是空的,并使用“addChild()”以编程方式构建
- 如果我在构建节点时明确添加“selected:false”,这没有什么区别。
- 没有尝试过预先构建整个结构。
想法?
我正在使用带有选择模式“3”的 Dynatree,它启用了分层选择模式。
当我的树渲染时,所有具有子节点的节点都默认渲染为选中状态。默认情况下,叶节点呈现未选中状态。如果我开始手动选择节点,树会按预期运行。
如何强制默认取消选中所有节点?
笔记:
想法?
事实证明,选择是由于通过代码构建我的树而发生的。当我调用.addChild()创建根级节点时,未选择该节点。当我调用.addChild()并向其添加一个孩子时,它就会被选中。
为了解决这个问题,我在添加子项后手动调用父项上的.select(false)。
我不确定这是 Dynatree 中的错误还是我做错了什么。
你可以试试这个
$("#tree").dynatree("getRoot").visit(function(node) {
node.expand(false);
});
我知道这个解决方案对你来说太晚了,但我发布这个是为了帮助其他面临同样问题的人。