Up方法在Sencha Touch中无法正常工作

时间:2014-12-10 20:36:39

标签: javascript extjs sencha-touch-2

我正在与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: []
            }

有任何线索吗?

由于

2 个答案:

答案 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');