Extjs 从窗口定位按钮
也许这是一个愚蠢的问题,但我现在真的不知道,在我刚刚重新定义和创建的窗口中,如何定位按钮。我 使用ExtJS4.2.1,我产生了一种mvc,但更类似于使用这种类型框架的旧方法 我必须定义一个有两个按钮“提交”和“关闭”的窗口,如下所示:Extjs 从窗口定位按钮,extjs,extjs4.2,Extjs,Extjs4.2,也许这是一个愚蠢的问题,但我现在真的不知道,在我刚刚重新定义和创建的窗口中,如何定位按钮。我 使用ExtJS4.2.1,我产生了一种mvc,但更类似于使用这种类型框架的旧方法 我必须定义一个有两个按钮“提交”和“关闭”的窗口,如下所示: Ext.define('newWindow',{ extend:'Ext.window.Window', config: { submitFn:function(){return null;} } bodySty
Ext.define('newWindow',{
extend:'Ext.window.Window',
config: {
submitFn:function(){return null;}
}
bodyStyle: 'padding: 5px 5px 0',
layout:'fit',
width:460,
height:390,
plain: false,
border:false,
resizable: false,
buttons: [{
text:'submit',
handler: function(){this.up.up.submitFn()},
tabIndex:1000
},{
text: 'close',
handler: function(){
this.up().up().hide();},
tabIndex:1001
}]
})
当我在我的代码中创建这个窗口时,我想给他传递一个函数来处理他的行为,但我不能。。
我试着给他输入itemId,id,但是Ext.getCmp(id),Ext.ComponentQuery.query(id)不能完成他们的工作
重新编辑:
好吧,问题还不清楚:我用这种方式定义组件newWindow。
我说我不使用mvc模式,在我程序的一部分中,我在这里创建了这个组件
var dlg=Ext.create('newWindow',{submitFn:submit})
其中submit是我需要调用的函数,用于提交窗口中的值以及她的逻辑。
这就是我需要做的,但我要求所有其他方法来做。您总是可以设置窗口的
可关闭:true
,而不是定义您自己的按钮。我假设您尝试获取按钮引用的所有方法都不起作用,因为在调用按钮时没有创建按钮。调用Ext.getCmp
时,您应该等待按钮呈现,或者在控制器init
方法中使用this.control
。以下是一个例子:
Ext.define('myController', {
extend: 'Ext.app.Controller',
init: function() {
this.control({
'#submitButton': {
click: this.onSubmitButtonClick
}
});
},
onSubmitButtonClick: function() {
console.log('Click');
}
});
fmt:message标记不是来自ExtJS的。。。你知道的,对吧?现在,如果您可以获得对按钮的引用,您可以显示您想要进行的函数调用吗(你显然想用
Ext.getCmp
做什么?我不认为这是在回答问题,他还需要一个提交按钮,也许控制器中的其他事情可能会越界,但你的答案仍然根本没有回答问题,这对为什么有人投票支持它没有任何意义。@cclerville y是的,我可以,但我需要用一个底部有两个按钮的窗口来实现这种界面。我知道这是多余的,但我必须这样做。我不使用控制器,因为我不使用extjs mvc模式。无论如何,谢谢。