请找到针对Extjs 4和5的PLUpload的小提琴
Fiddle with Extjs 4 [WORKING]
http://jsfiddle.net/jaspreets/dvsbsgse/
Fiddle with Extjs 5 [NOT WORKING]
http://jsfiddle.net/jaspreets/797sLzsn/
请告诉我为什么它不能使用ExtJs - 5。 可能的解决办法是什么?
提前致谢。
答案 0 :(得分:1)
您需要迁移PLUpload插件。为此,您需要在插件中进行多处更改。
Button.js:
/**
* @class Ext.ux.upload.Button
* @extends Ext.button.Button
*
* @author Harald Hanek (c) 2011-2012
* @license http://harrydeluxe.mit-license.org
*/
Ext.define('Ext.util.multiupload.Button', {
extend: 'Ext.button.Button',
alias: 'widget.uploadbutton',
requires: ['Ext.util.multiupload.Basic'],
disabled: true,
listeners: {
boxready: function() {
var me = this;
Ext.applyIf(me.config.uploader, {
browse_button: me.config.id || me.getId()
});
me.uploader = me.createUploader();
me.uploader.initialize();
me.plugins[0].initializeComponent(me);
me.relayEvents(me.uploader, ['beforestart',
'uploadready',
'uploadstarted',
'uploadcomplete',
'uploaderror',
'filesadded',
'beforeupload',
'fileuploaded',
'updateprogress',
'uploadprogress',
'storeempty'
]);
}
},
/**
* @private
*/
createUploader: function() {
return Ext.create('Ext.util.multiupload.Basic', this, Ext.applyIf({
listeners: {}
}, this.initialConfig));
}
});
Basic.js: 删除AddEvents。将商店更改为此。
me.store = Ext.create('Ext.data.JsonStore', {
fields: ['id', 'loaded', 'name', 'size', 'percent', 'status', 'msg'],
listeners: {
load: me.onStoreLoad,
remove: me.onStoreRemove,
update: me.onStoreUpdate,
scope: me
}
});
onStoreRemove方法的第二个参数是一个数组。所以采取第一个元素。
Window.js: 删除Id“form-statusbar”。将init函数重命名为initializeComponent。
现在应该可以了。