浅谈Ext的不足

在使用Ext的过程中,发现一些Ext组件设计细节的不足之处,在此简单罗列几个。虽然有变通的解决办法,不过这里讨论的是设计,而不是如何解决。

1. Field组件的change,blur事件在你离开当前页面时,如果没有事先切换到其他Field,这些事件不触发。假设一个Form包含若干个Field,需要判断某个Field的值是否发生改变,但当这个Form位于一个tabpanel中,切换tab居然不能触发blur事件触发。
2. Tree不支持Store和Record。假设有了Store和Record,判断Record是否发生改变就容易多了,也就是说,组件应当自己检查这些变化,比如Grid就是这么做的。

面向最终客户的组件设计应当皆可能屏蔽细节,合乎逻辑。相比SmartClient,Ext的组件只能说是它在鼓励人们了解不必要了解的细节。

附:
Ext的bug实在太多。在我们的工程中,对Ex.form.Field的override有很多,很难管理。

你可能感兴趣的:(JavaScript,ext,yui)