extjs750 treepicker 绑定store异常

版本

extjs 7.x classic ux包

现象

使用treepicker绑定store时报错:

TypeError: Cannot read properties of null (reading ‘$eventOptions’)
at constructor.addManagedListener (Observable.js?_dc=1641516240871:577)
at constructor.aliasOneMember. [as mon] (Base.js?_dc=1641516240871:1175)
at constructor.initComponent (TreePicker.js?_dc=1641516240875:67)
at constructor (Component.js?_dc=1641516240871:2268)

原因

绑定在beforerender中初始化
treepicker时在initComponent中给store添加事件监听,此时绑定尚未初始化,store值为null,导致异常

解决

覆盖默认实现,改为在updateStore时添加事件监听

Ext.define('PSR.overrides.Ext.ux.TreePicker', {
    override: 'Ext.ux.TreePicker',
    initComponent: function() {
        var me = this;
        this.store = this.store || Ext.data.StoreManager.lookup('ext-empty-store');
        me.callParent(arguments);
    },
    updateStore:function(store){
        this.mon(store, {
            scope: this,
            load: this.onLoad,
            update: this.onUpdate
        });
    },
});

源码

node_modules/@sencha/ext-ux/classic/src/TreePicker.js

initComponent: function() {
    var me = this;
    me.callParent(arguments);
    me.mon(me.store, {
        scope: me,
        load: me.onLoad,
        update: me.onUpdate
    });
},

posted on   路过君  阅读(61)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2020-04-11 spring 启动时自动运行
2020-04-11 spring cloud oauth2授权服务 默认tokenService配置源码
2020-04-11 spring cloud 搭建oauth2授权服务 使用redis存储令牌
2020-04-11 spring cloud oauth2授权服务 clientDetails配置源码
2020-04-11 spring 验证框架
2020-04-11 IDEA 插件整理
2020-04-11 spring security笔记 默认登陆页面源码

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示