前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >extjs750 treepicker 绑定store异常

extjs750 treepicker 绑定store异常

作者头像
路过君
发布2022-04-13 13:33:03
4210
发布2022-04-13 13:33:03
举报
文章被收录于专栏:路过君BLOG from CSDN

版本

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时添加事件监听

代码语言:javascript
复制
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

代码语言:javascript
复制
initComponent: function() {
    var me = this;
    me.callParent(arguments);
    me.mon(me.store, {
        scope: me,
        load: me.onLoad,
        update: me.onUpdate
    });
},
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/01/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 版本
  • 现象
  • 原因
  • 解决
  • 源码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档