1

Sencha Touch 2 に ActionSheet と Panel があります。パネルでアイコンマップがクリックされたときに ActionSheet オーバーレイを表示したいのですが、どうすればよいですか?

Panel.js

Ext.define('app.view.principalTabPanel', {
    extend: 'Ext.tab.Panel',

    config: {
        ui: 'light',
        items: [
            {
                xtype: 'mappanel',
                title: 'Map',
                iconCls: 'locate'
            }
        ],
        tabBar: {
            docked: 'bottom',
            ui: 'light'
        }
    }

});

ask.js

Ext.define('app.view.takePhoto', {
    extend: 'Ext.ActionSheet',

    config: {
        items: [
        {
            text: 'Delete draft',
            ui  : 'decline'
        },
        {
            text: 'Save draft'
        },
        {
            text: 'Cancel',
            ui  : 'confirm'
        }
        ]
    }

});
4

2 に答える 2

3

tabこれを行うには、項目のオブジェクト内のタブにリスナーを追加します。

{
    xtype: 'mappanel',
    title: 'Map',
    iconCls: 'locate'
    tab: {
        listeners: {
            tap: function() {
                var sheet = Ext.create('app.view.takePhoto');
                sheet.show();
            }
        }
    }
}

そのリスナー内で、app.view.takePhotoクラスの新しいインスタンスを作成して表示します。

于 2012-05-08T23:11:14.260 に答える
0

show() を showBy() に変更した後、同じ問題に遭遇しました。コンポーネントの代わりにhtml IDを指定するとうまくいきました

.showBy(Ext.get('ext-tab-5'));

それ以外の

.showBy('settingsTab')

メソッドはDOM要素でのみ呼び出すことができるようです。

これが何らかの形で役立つことを願っています。

于 2012-07-03T09:01:50.373 に答える