1

Sencha の 'togglefield' xtype に問題があります。さまざまなコード タイプで多くのテストを行い、アプリケーションをいくつかのコンテナーに単純化しました。2 つのトグルフィールドを追加したことがわかります。1 つは最初のコンテナー「ビュー A」に、もう 1 つは「ビュー B」コンテナーに追加されています。何らかの理由で、最初のトグル フィールドが正しく表示されます。ただし、2 番目のトグルフィールドでは、アニメーションが正しく表示されません。

アプリケーションが「animateActiveItem」を介してアクセスされる複数のビューを持つ 1 つのメイン コンテナーで構成されている場合、大規模なアプリケーションでこの同じ問題に気付きました。最初のコンテナではトグルフィールドが機能しますが、2 番目のコンテナではトグルがアニメーション化されません。

ただし、「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

これがあなたの状況にどの程度適用できるかはわかりませんが、アニメーションを呼び出していたビュー コントローラーのインスタンスを誤って 2 つ作成してしまったことがわかりました。app.js に 1 つ、プロファイルに 1 つ。

基本的に、彼らはお互いのアニメーションを中断していました.

于 2013-05-07T10:11:09.217 に答える