在使用 extjs 开发 OAOP 应用中 ,除了API文档外,还有很多细节需要注意,往往稍不慎便会白白浪费很多时间用来调试,记下来这些api语焉不详或不常使用的地方。
0.中文问题
在载入ext库后 在 添加 locale/ext-lang-zh-CN.js
1.空白图片问题
需要设置 Ext.BLANK_IMAGE_URL 为本机的 Ext空白图片地址 ,否则 如果不能联网就会界面叉了。
2.事件停止
最好在处理事件后 ,调用 e.stopEvent() ,停止冒泡以及 默认行为。
3.Ext.EventObject 中有 按键的常量定义,很好
4.Ext.encode
Ext.encodedecode 是用来对 json 和字符串相互转化的 ,urlEncode ,urlDecode 才是 相对原生javascript编码的替代。
5. Ext.extend 继承机制
采用 Ext.extend 继承机制时 , 子类构造函数 第一行要写 sub.superclass.constructor.call(this,config) 来调用父类构造器。
6.apply override
apply 是对 对象属性设置 ,override 是对 函数的 prototype 设置属性。
7.DomQuery
很好用 ,支持很多 css3 选择器 ,要多用 ext.select 添加 无侵入的代码
8.DomHelper 的 元素对象表示
除了 tag cls children(cn) html 其他都会直接作为 新元素的属性 生成为 html
9.quicktip
使用的话,必须 ext.onready 后 调用 Ext.quicktips.init(); hml可以设置 ext:qtitle extlqtip 属性 ,以及一些控制显示效果的属性。
10.ext.state
使用时,最好设置 stateId ,免得 状态混乱。
11.Element.getUpdater
可以简化 ajax 更新流程,直接帮你读取并更新
12.mixedcollection
很强大的容器,可以对她监听事件。
13: 表格的查询功能
设置 grid.store.baseParams ,然后 调用 grid.store.load({params:{start:0,limit:xx}}); 才能从第一页显示查询后结果
14.树节点刷新
可以只对某个子树节点调用 reload
15.树节点 配置属性获得
node.attributes 里有起始配置的属性
16.注意 window 的关闭
默认为 close(destroy ),最好设为隐藏 closeAction:hide
17.SimpleStore ,jsonstore
常常使用的simplestore 就是 store + memoryproxy + arrayreader
jsonstore = store +httpproxy + jsonreader
18 分页
只有 动态数据才能分页,可以设置总条数 ,以及数据区的 key 。
19 分组
若要分组 就要用 groupstore 与 groupview
20 createDelegate 等
主要是对 Function 就行 argument , 里面进行一些操作,再调用 this();
21. Ext.Ajax
为 Ext.data.Connection 的一个实例 ,那么可以 以AOP 的思路,在 Ext.Ajax.on('beforeXX',function(){//todo}); 等等设置统一的访问前访问后处理 ,例如 gmail 的 右上角的条状提示
(启发自 深入浅出extjs ,很不错,发现这本书总结了我开发中遇到的大部分细节问题,帮我梳理了头绪,适合 有 extjs使用经验的人 快速浏览,不是很适合新手,不够教程级别)