我正在与Sencha Touch合作,我有下一个代码行
var formpanel = button.getParent().getParent().down('formpanel'); //working correctly but tricky
我使用两个“getParent()”,因为“up”方法对我不起作用
var formpanel = button.up('formpanel'); //No-working
和视图
items: [
{
xtype: 'toolbar',
title: 'test',
docked: 'top',
items: [{
xtype: 'button',
iconCls: 'info',
style:{
'margin-left': '75em'
}
}]
},
{
xtype: 'formpanel',
layout: 'hbox',
scrollable: null,
items: []
}
有任何线索吗?
由于
答案 0 :(得分:0)
我不明白为什么你选择了这个选择。无论如何,您的需求只能在几行中实现。首先在你的formpanel中添加一个类(如果不是)。对于例如cls: 'form-panel'
在控制器中,获取包含表单的容器的xtype的引用。比如说formContainer: 'formcontainer'
现在您可以在控制器中使用此行捕获formpanel:
this.getFormContainer().element.down('.form-panel');
告诉我它对你有帮助。
答案 1 :(得分:0)
根据sencha docs:
,它无效 up( [selector] ) :
走向ownerCt轴,寻找与传递的简单选择器匹配的祖先容器。
因此,在您的情况下,按钮的祖先是工具栏和工具栏的父级,但是不是< / strong> formpanel 。使用up()
您可以获得工具栏或工具栏的父级,但不 > formpanel 。相反,您可以使用以下代码:
第一个代码
var formpanel = button.up(<XtypeOfToolbarParent>).down('formpanel');
或强>
第二个代码:类似于getParent()
var formpanel = button.up().up().down('formpanel');