以前大搞过extjs,后来不用了,就忘了。。。最近又弄。。。哎,复习复习。。。
搞extjs一定会遇到定制datagrid类型的view控件的东东,这种东东一般都是被Ext.data.Store驱动的,
那么Store就值得好好研究下了。
扩展点:
1.获取数据 - store.proxy or store.loadData()。
store.loadData() 直接修改数据内容,没什么好说的。
store.proxy 代理获取数据的请求。
由于很多效果我想用组建原生的,所以不想要用loadData,而自己在后台慢慢获取(没有那个可爱的loading效果),
所以扩展proxy是必须的。
最常用的HttpProxy的onread(action,o,response) 方法。文档里有,但是说的不是很清楚。
通过查看源码发现,这个方法应该是我们最需要,其实就是底层用ajax获取后立即调用的方法。
可惜了,我找不到任何event 让我们可以修改该位置处的行为,比如修改/过滤服务器返回的内容等等。。。
只能继承HttpProxy覆写这个方法
2.读取/渲染数据 reader
这个东东没啥好说的,看了文档和代码,也就是read方法对应的地方可以扩展。
可惜,也是没有找到任何event给我们来修改默认的行为。
read( Object response ) : Object 和readRecords( Object o ) : Object 是比较好的扩展点,
* read 就是前面proxy 的扩展点,处理服务器返回的原始string;
* readRecords 是则是紧接着read decode后的处理,处理的是js对象,可能更适合扩展。