Ext JS 6.5 Меню автоскрытия - PullRequest
0 голосов
/ 20 мая 2018

Я использую Ext JS 6.5.3.57.У меня есть файл Menu.js для просмотра

// File /Users/donhuvy/Desktop/vy_sencha/app/view/menu/Menu.js

Ext.define('Acc.view.menu.Menu', {
    extend: 'Ext.Panel',
    xtype: 'menu_acc',

    requires: [
        'Ext.menu.Menu'
    ],

    autoSize: true,
    bodyPadding: 20,
    width: 230,
    items: {
        xtype: 'menu',
        floated: false,
        docked: 'left',
        alwaysOnTop: true,
        items: [{
            text: 'Cai dat He thong',
        },{
            text: 'Tien mat'
        },{
            text: 'regular item 3'
        }]
    }

})

Файл app.js

// File /Users/donhuvy/Desktop/vy_sencha/app.js

/*
 * This file launches the application by asking Ext JS to create
 * and launch() the Application class.
 */
Ext.application({
    extend: 'Acc.Application',

    name: 'Acc',

    requires: [
        // This will automatically load all classes in the Acc namespace
        // so that application classes do not need to require each other.
        'Acc.*'
    ],

    // The name of the initial view to create.
    //mainView: 'Acc.view.main.Main'
    mainView: 'Acc.view.menu.Menu'

});

Результат

enter image description here

Когда я нажимаю на пункт меню, он автоматически скрывается.Как избежать его скрытия после нажатия на пункт меню?

1 Ответ

0 голосов
/ 20 мая 2018

Конфигурация hideOnClick в Ext.menu.Item, то есть true по умолчанию

и autoHide , конфигурация на Ext.menu.Menu, что по умолчанию true

Если вы установите hideOnClick на false, оно не будет скрывать меню своего владельца.

Если вы установите autoHide на false, это предотвратит автоматическое скрытие меню при фокусировке.перемещается в другое место

Так что просто добавьте следующий код в конфигурацию меню

{
   allowOtherMenus: true,
   autoHide: false,
   defaults:{ 
       hideOnClick: false 
   }
}

Вот Fiddle

...