请找到针对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。解决这个问题的可能办法是什么?
提前谢谢。
发布于 2015-09-03 07:11:05
您需要迁移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“”。将init函数重命名为initializeComponent。
现在该起作用了。
https://stackoverflow.com/questions/28692599
复制相似问题