在对ext的tree组件实现中,发现一个问题,就是tree中的beforeitemexpand监听事件,本意为在展开子节点前触发。但是在实现过程中发现,在树组件初始化时,仍然会触发这个监听。如果直接在监听中引用方法,将会导致逻辑错误。
有两种解决方法
1、将beforeitemexpand 监听事件,放在afterrender中进行加载,使用 this.on("beforeitemexpand", function)来进行逻辑处理。
2、将tree继承重写。
Ext.define('TestTree', {
extend : 'Ext.tree.Panel',
initComponent : function() {
this.on("beforeitemexpand", function);
}
*function为处理逻辑的方法。