场景:
在同一个界面中有多个ComboTree空间需要加载数据,他们使用相同的数据URL,如果分别初始化,那么如果有5个ComboTree就会请求后台五次,那么有童鞋就会说了,我使用Ajax请求一次后台然后分别用data属性赋值就可以吖,我也想这样做,but!!!同时这样渲染多个ComboTree只有最后一个ComboTree可以完全成功(这里的完全指没有任何问题,我同时渲染多个时发现的问题是给他们注册的onBeforeSelect事件里面获取不到node(当前选择节点对象)参数对象),这也许是一个bug(1.3.6)后面也许会更新,那么怎么处理呢?
处理方式:
我们不外乎想让多个ComboTree使用同一个数据源,那么先Ajax取回来,然后(重点)分别给他们注册onShowPanel事件,也就是展开下拉面板时触发,在事件里面使用loadData方式加载该ComboTree数据源,也就是打开下拉面板的时候才赋值,这样就避免了这个问题(同时赋值只有最后一个生效!)
这种方式没什么高端的知识,只是避开了同时赋值而已,但是解决了我的问题,还是挺高兴的!