升级 ExtJS 至 4.0.7 时遇到的几个小问题

1、 新的类库体系

旧的类定义方式为:
1
2
3
4
5
6
App.view.Viewport = Ext.extend(Ext.panel.Panel, {
   initComponent: function() {
      // call parent initComponent method
      App.view.Viewport.superclass.initComponent.apply(this, arguments);
   }
});
新的类定义方式为:
1
2
3
4
5
6
Ext.define('App.view.Viewport', {
   initComponent: function() {
      // call parent
      this.callParent(arguments);
   }
});

2、 Ext.Loader 动态加载 js 文件

4.0.7 版本的 Ext.Loader 默认是未启用动态加载的, 导致运行时会报错, 要手工设置启用动态加载, 启用动态加载的代码为:
1
Ext.Loader.setConfig({  enabled: true });
Ext.Loader 还有几个有用的参数(paths、 disableCaching)等, 可以查看相关 Ext.Loader API。

3、 Ext.panel.Panel 的 onResize 方法已经删除

没错, Ext.panel.Panel 的 onResize 方法已经删除, 重写 onResize 方法的类需要稍微修改一下, 推荐使用 componentLayout 事件或者 afterComponentLayout 方法。

4、 Ext.panel.Panel 的 collapsible 设置为 true 时,必须设置 panel 宽度

如果没有设置 panel 的宽度, 点击 panel 的 collapse 工具按钮时, 会导致整个 panel 不可见。

5、 不能手工刷新 Ext.form.ComboBox 的 store 的数据

如果用代码刷新了 ComboBox 的 store 的数据, 会导致其弹出的选择列表一直显示“正在加载”, 无法进行选择, 如果必须要刷新 store 数据, 只能改用其它的控件代替 ComboBox。
posted @   张志敏  阅读(1267)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示