将 CSV 上传浏览按钮添加到 Ext.Action [英] Adding CSV upload browse button to Ext.Action
问题描述
我正在尝试在 GeoExt Map App 上创建 CSV 文件上传.我需要将上传功能放在 Ext.Action 中,以便我可以将它添加到 GeoExt 面板的工具栏.我正在尝试实现这个 example.这是我的代码,
I am trying to create a CSV File upload on GeoExt Map App. I need to place the upload function within the Ext.Action, so that I can add it to the toolbar of the GeoExt Panel. I am trying to implement this example. Here is my code,
action = new Ext.Action({
text: "Upload Excel",
control: Ext.create('Ext.form.Panel', {
title: 'Upload a CSV File',
width: 400,
bodyPadding: 10,
frame: true,
renderTo: Ext.getBody(),
items: [{
xtype: 'filefield',
name: 'csv',
fieldLabel: 'CSV Upload',
labelWidth: 50,
msgTarget: 'side',
allowBlank: false,
buttonText: 'Select CSV File'
}],
buttons: [{
text: 'Upload',
handler: function () {
var form = this.up('form')
.getForm();
if (form.isValid()) {
form.submit({
url: 'file-upload.py',
waitMsg: 'Uploading the CSV File...',
success: function (fp, o) {
Ext.Msg.alert('Success', 'Your csv file "' + o.result.file + '" has been uploaded.');
}
});
}
}
}]
}),
map: map,
// button options
tooltip: "Upload CSV File",
// check item options
group: "newTool"
});
actions["upCSV"] = action;
toolbarItems.push(new Ext.button.Button(action));
Firebug 一直给我这个错误,
Firebug keeps giving me this error,
类型错误:b[d.xtype ||e] 不是构造函数
我是否在 Ext.Action 中错误地声明了函数?
Am I declaring the function incorrectly within the Ext.Action?
推荐答案
你不能直接将 action
推入 toolbar
因为 Ext.Action
不是 Ext.Component
的类型.Ext.Action
基本上是一种创建可以多次重用的抽象层的方法.这里需要进行以下操作:
You can't directly push the action
into a toolbar
since an Ext.Action
is not a type of Ext.Component
. An Ext.Action
is basically a means of creating an abstraction layer which can be reused multiple times. Here you need to do the following:
toolbarItems.push(new Ext.button.Button(action));
来自文档:
操作让您共享处理程序、配置选项和 UI 更新跨任何支持 Action 接口的组件(主要是Ext.toolbar.Toolbar、Ext.button.Button 和 Ext.menu.Menu 组件)
Actions let you share handlers, configuration options and UI updates across any components that support the Action interface (primarily Ext.toolbar.Toolbar, Ext.button.Button and Ext.menu.Menu components)
这篇关于将 CSV 上传浏览按钮添加到 Ext.Action的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!