Javascript 如何在Sencha Touch 2中单击面板时显示覆盖图

Javascript 如何在Sencha Touch 2中单击面板时显示覆盖图,javascript,sencha-touch-2,Javascript,Sencha Touch 2,我在Sencha Touch 2中有一个操作表和一个面板。我想在面板中单击图标地图时显示操作表覆盖,我如何才能做到这一点 Panel.js Ext.define('app.view.principalTabPanel', { extend: 'Ext.tab.Panel', config: { ui: 'light', items: [ { xtype: 'mappanel',

我在Sencha Touch 2中有一个操作表和一个面板。我想在面板中单击图标地图时显示操作表覆盖,我如何才能做到这一点

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'
        }
    }

});
asking.js

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

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

});

您可以通过将侦听器添加到项目的
选项卡
对象内的选项卡来完成此操作

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

在该侦听器中,我们创建了你的
app.view.takePhoto
类的一个新实例并将其显示出来。

在将show()更改为showBy()后,我遇到了同样的问题。 指定html id而不是组件完成了这个任务

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

.showBy('settingsTab')
似乎该方法只能在DOM元素上调用


希望这能有所帮助。

谢谢!那有帮助。但是我得到了一个错误“uncaughttypeerror:无法调用null的'getPageBox'方法”。有什么想法吗?看起来它与您发布的代码无关,因为这里没有任何内容引用该方法。您需要打开另一个问题+发布代码片段。我们确定这不是ST2错误吗?调用sheet.show()时,我会遇到相同的错误。以下是SenchaFIDLE版本: