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
});
},
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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笔记 默认登陆页面源码