可以通过重写Ext.data.TreeStore的load方法,在数据请求回来后修改数据。具体操作如下:

1.创建一个继承自Ext.data.TreeStore的子类,并重写load方法:

Ext.define('MyTreeStore', {
    extend: 'Ext.data.TreeStore',

    load: function(options) {
        var me = this;

        options = options || {};

        options.callback = function(records, operation, success) {
            if (success) {
                me.modifyData(records);
            }

            Ext.callback(options.callback, options.scope || me, [records, operation, success]);
        };

        me.callParent([options]);
    },

    modifyData: function(records) {
        // TODO: modify data here
    }
});

2.在modifyData方法中修改数据,例如移除某个节点:

modifyData: function(records) {
    var rootNode = this.getRootNode();

    rootNode.cascadeBy(function(node) {
        if (node.get('id') === 'nodeToRemove') {
            node.remove();
        }
    });
}

3.使用自定义的MyTreeStore来加载数据:

var store = Ext.create('MyTreeStore', {
    proxy: {
        type: 'ajax',
        url: 'data.json'
    }
});

store.load();
在extjs中如何更改ExtdataTreeStore远程请求回来的数据

原文地址: https://www.cveoy.top/t/topic/ZZG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录