Extjs 4.2 TreeGrid折叠/展开节点不会删除前一个节点

时间:2015-07-24 10:00:23

标签: javascript extjs

我在extjs 4.2中有一个treegrid。我加载了一些数据。让我们说一个节点和一些孩子。我扩展节点,孩子们在那里。我折叠节点并再次展开它。在第二次扩展后,孩子们被复制了。等等,每次扩展后,孩子总是重复的。

有没有其他人遇到过这种情况?

store.setRootNode(firstLevelNodesList);
store.getRootNode().appendChild(firstLevelNodesList);
store.getRootNode().expandChildren();

firstLevelNodesList是一个节点列表(它们是正确构建的)。首先打开一个带有网格的窗口进行调用。我点击崩溃/展开时的stragen行为

1 个答案:

答案 0 :(得分:0)

所有配置都应在Store

中完成

在你的例子中:

store.setRootNode(firstLevelNodesList);
store.getRootNode().appendChild(firstLevelNodesList);
store.getRootNode().expandChildren();

折叠并展开树后,您将获得根节点并附加另一个子节点。一遍又一遍。

我的树配置如何工作:

Store配置

Ext.define('Items', {
    extend  : 'Ext.data.TreeStore',
    storeId : 'Items',
    model   : 'Item',
    autoLoad: false,
    autoSync: false,
    root: {
        expanded: false,
        text: 'items'//recurence data trough tree object for expanding. Check your json data. Can be different.
    },
    proxy:proxy//proxy definition
});

我只做了一件事(例子):

        var treeUserStore = controller.getStore('Items');
        treeUserStore.load({
            callback: function (records, operation, success) {
                var userPanel = controller.getUserManagementPanel();//some grid panel
           userPanel.getRootNode().expand();//example.
            }});