【问题标题】:Extjs 6: Adding modal window doesn't mask tbar and headerExtjs 6:添加模态窗口不会掩盖 tbar 和标题
【发布时间】:2015-09-28 08:34:54
【问题描述】:

我有一个视图作为我的网格的容器。 此视图拥有一个 tbar 和一个标题。

当我添加一个模态窗口时,标题和 tbar 没有被屏蔽。

主视图:

Ext.define('myApp.view.customer.MyMain', {
    extend: 'Ext.panel.Panel',
    xtype: 'hlx-customermain',

    controller: 'maintoolbar',

    plugins: 'viewport',
    header: {
        xtype: 'myheader'
    },
    tbar: {
        xtype: 'mytoolbar'
    },

    items: [
        {
            xtype: 'mygrid'
        }
    ]


});

Grid(使用控制器添加窗口)

    Ext.define('myApp.view.customer.MyGrid', {
        extend: 'Ext.grid.Panel',
        xtype: 'mygrid',

        tbar: {
            xtype: 'mygridtoolbar'
        },

        controller: 'mygrid',

        store: 'MyGridStore',

        columns: [
        ...
        ]

    });

来自 ViewController 的函数

onCustomerAddClick: function () {
        var me = this,
            addCustomerWindow = me.lookupReference('addCustomerWindow');

        if (!addCustomerWindow) {
            addCustomerWindow = new myApp.view.customer.AddCustomer();

            me.getView().ownerCt.add(addCustomerWindow);
        }

        addCustomerWindow.show();
    }

即使很难,我也将它添加到 ownerContainer - 这是 MyMain 类 - tbar 和标题没有被屏蔽。 看这个fiddle自己体验错误:https://fiddle.sencha.com/#fiddle/uih

【问题讨论】:

    标签: javascript extjs extjs6


    【解决方案1】:

    您不必将它添加到它的所有者或其他任何地方。只需这样做:

    onAddCustomerClick: function () {
        /*var me = this,
            myWindow = me.lookupReference('myWindow');
    
        if (!myWindow) {
            myWindow = new MyWindow();
            me.getView().ownerCt.add(myWindow);
        }
    
        myWindow.show();*/
        var myWindow = Ext.create('MyWindow');
    
        myWindow.show();
    }
    

    【讨论】:

    • 这对我有用。我是按照我看过的教程做的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多