gpt4 book ai didi

javascript - 使用 ExtJs 4.1 中的 ID 在树节点上触发 checkchange 事件

转载 作者:行者123 更新时间:2023-11-30 17:53:52 25 4
gpt4 key购买 nike

我有一个 TreePanel。树中的每个节点都有一个 ID。单击一个按钮,我想触发节点 2.1 的 checkchange 事件(如下图所示)。如何在单击按钮时使用其 ID 为节点触发 checkchange 事件。

  1 
1.2
1.3
1.4
2
2.1
2.2
3

谢谢

最佳答案

要触发 checkchange,你需要有节点,如果它被选中。

TreePanel 使用 Ext.data.TreeStore 来存储它的节点信息(它在 store 属性中)。

这个 TreeStore 有 getNodeById( id ) 方法,它通过 id 返回记录节点。

如果你想从另一个属性中获取节点,那么你需要使用 store 中的 tree (Ext.data.Tree) 属性code>,就像一个节点管理器。这在 nodeHash 属性中有一个节点记录数组。您需要迭代此数组并手动比较给定的属性。

完整代码:

buttonClick: function(button, e, eOpts) {
var treepanel = button.up(...).down('treepanel');
var node = treepanel.getStore().getNodeById(yourIDHere);
// for custom property use this:
/*var nodeHash = treepanel.getStore().tree.nodeHash;
var node;
for (var x in nodeHash) {
if (nodeHash[x].get('customProperty') == customValue) {
node = nodeHash[x];
break;
}
} */
treepanel.fireEvent('checkchange', node, node.get('checked'));
}

关于javascript - 使用 ExtJs 4.1 中的 ID 在树节点上触发 checkchange 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18444541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com