Javascript Sencha architect弹出窗口
我有一个网格,我尝试打开id为“popup”的视图,类型为“Ext.form.panel”,以编辑网格中的单个条目 我的结论如下:Javascript Sencha architect弹出窗口,javascript,extjs,sencha-architect,Javascript,Extjs,Sencha Architect,我有一个网格,我尝试打开id为“popup”的视图,类型为“Ext.form.panel”,以编辑网格中的单个条目 我的结论如下: onGridpanelSelect: function(rowmodel,record,index,e0pts) { if(Ext.getCmp('popup')) var sample = Ext.getCmp('popup'); else var sample = Ext.create('MyApp.view.popup'); sampl
onGridpanelSelect: function(rowmodel,record,index,e0pts) {
if(Ext.getCmp('popup')) var sample = Ext.getCmp('popup');
else var sample = Ext.create('MyApp.view.popup');
sample.update(record.data);
// Ext.Viewport.add(sample);
Ext.Viewport.setActiveItem(sample);
}
但是Firefox告诉我Ext.Viewport.add和Ext.Viewport.setActiveItem都不是函数。他到底想告诉我什么
(
TypeError:Ext.Viewport.add不是函数
或TypeError:Ext.Viewport.setActiveItem不是函数
,具体取决于注释是否存在)在Sencha Touch中,Ext.Viewport
是单例,但在ExtJS中不是。并且不是静态方法,因此只能从视口
实例调用它
如果已经创建了视口,则可以通过组件查询获取对该视口的引用:
var viewport = Ext.ComponentQuery.query('viewport')[0];
// Now, we've got an instance!
viewport.add( ... );
现在,给定组件(弹出窗口)的名称,我不会费心将其添加到视口中,而是将其显示在模式窗口中。。。你知道,就像一个弹出窗口;)
var sample = Ext.getCmp('popup') || new MyApp.view.popup;
sample.update(record.data);
var win = Ext.widget('window', {
title: "Sample"
,autoShow: true
,modal: true
,layout: 'fit'
,items: [sample]
,width: 300
,height: 300
,buttons: [{
text: "Ok"
,handler: function() {
// maybe you'll want to process your form here
// remove your component before closing the window
// to avoid having it auto destroyed
win.remove(sample, false);
win.close();
}
}]
});