最近在把项目的ext升级到ext3.1,有些问题记录下:
问题1:
ext3.x版本不支持直接使用Ext.lib.Ajax.getConnectionObject()方法.
哎 ,我们项目太多直接调用这个同步ajax请求方法的地方了,所以后来没办法只能重写Ext.lib.Ajax多加了这个方法
问题2:
ext3.x版本的Ext.grid.GridPanel里面缺少了getSelections方法.
我们项目太多使用的地方了,所以也在GridPanel里面多加个getSelections方法了..
问题3:
Ext.ux.UploadDialog无法使用
a.由于3.x版本的Ext.Button模板方法改变了如下:
Ext.Button.buttonTemplate = new Ext.Template(
'<table id="{4}" cellspacing="0" class="x-btn {3}"><tbody class="{1}">',
'<tr><td class="x-btn-tl"><i> </i></td><td class="x-btn-tc"></td><td class="x-btn-tr"><i> </i></td></tr>',
'<tr><td class="x-btn-ml"><i> </i></td><td class="x-btn-mc"><em class="{2}" unselectable="on"><button type="{0}"></button></em></td><td class="x-btn-mr"><i> </i></td></tr>',
'<tr><td class="x-btn-bl"><i> </i></td><td class="x-btn-bc"></td><td class="x-btn-br"><i> </i></td></tr>',
'</tbody></table>');
这里使用this.el.child(".x-btn-center");拿不到模板,所以修改成this.el.child(".x-btn-mc");
b.Ext.DomHelper.append方法改变,不会自动创建ID,所以在append的时候要手动设置ID
tb.x_buttons.indicator = tb
.addItem(new Ext.Toolbar.Item(Ext.DomHelper.append(tb
.getEl(), {
id : 'indicatorId', //兼容3.0 swb update 20091221
tag : "div",
cls : "ext-ux-uploaddialog-indicator-stoped",
html : " "
})));
c.Ext.Toolbar结构改变了,所以无法使用方法getEl
把2句 tb.x_buttons.upload.getEl()...注释掉,这2个方法好象没什么用处的..
解决完以上问题,发现Ext.ux.UploadDialog组件又可以使用了,呵呵.
下面是修改过的兼容3.x版本ext的UploadDialog