1

我在 Sencha 中使用 'togglefield' xtype 时遇到了一些问题。我已经使用不同的代码类型进行了大量测试,并将我的应用程序简化为几个容器。您可以看到我添加了两个切换字段 - 一个在第一个容器“视图 A”中,另一个在“视图 B”容器中。出于某种原因,第一个切换字段正确显示。但是,使用第二个切换字段时,动画无法正确显示。

当应用程序包含一个主容器和多个通过“animateActiveItem”访问的视图时,我注意到大型应用程序存在同样的问题。在初始容器中,togglefield 工作,但在第二个容器中,toggle 没有动画。

但是,如果我使用“setActiveItem”更改视图,则切换在两者中都能正常工作。我认为我缺少一些非常简单的东西,但不知道是什么。有任何想法吗?

我用来定义视图的代码如下:

Ext.define('MyApp.view.mainWindow', {
    extend: 'Ext.Container',

    config: {
        id: 'mainWindow',
        layout: {
            type: 'card'
        },
        items: [
                {
                    xtype: 'container',
                    id: 'viewA',
                    layout: {
                        type: 'vbox'
                    },
                    items: [
                            {
                                xtype: 'container',
                                html: 'CLICK THE BUTTON'
                            },
                            {
                                xtype: 'button',
                                text: 'MyButton',
                                handler: function () {
                                    Ext.getCmp('mainWindow').animateActiveItem(Ext.getCmp('viewB'), {type: 'pop', direction: 'left'});
                                    console.log("pressed");
                                }
                            },
                            {
                                xtype: 'togglefield',
                                label: 'Field'
                            }
                            ]
                },
                {
                    xtype: 'container',
                    id: 'viewB',
                    items: [
                            {
                                xtype: 'togglefield',

                                name: 'toggleName',
                                label: 'My Toggle Field',
                            }
                            ]
                }
                ]
    }

});
4

1 回答 1

0

我不知道这可以在多大程度上应用于您的情况,但我发现我不小心创建了两个调用动画的视图控制器实例。一个在 app.js 中,一个在配置文件中。

基本上他们打断了彼此的动画。

于 2013-05-07T10:11:09.217 回答