У меня есть ExtJs 6.2. приложение с панели инструментов, которая определяется в Main.js
следующим образом:Выпадающее меню на панели инструментов ext.js 6
Ext.define('MyApp.view.main.Main', {
extend: 'Ext.Container',
xtype: 'app-main',
requires: [
'Ext.layout.VBox'
],
views: [
'MyApp.view.main.WrapperMainContent'
],
controller: 'mainController',
layout: {
type: 'vbox',
pack: 'center',
align: 'stretch'
},
margin: '0 0 0 0',
items: [
{
xtype: 'toolbar',
docked: 'top',
items: [
{ text: 'Option 1', handler: 'onOption1Click' },
{ text: 'Option 2', handler: 'onOption2Click' },
{ text: 'Option 3', handler: 'onOption3Click' },
]
},
{
xtype: 'wrapperMainContent',
flex: 1
}
]
});
Как я могу преобразовать 2 пунктов (вариант 1, вариант 2) в выпадающем меню? Так оно и должно выглядеть следующим образом (при наведении или нажмите на Menu
:.
__________________________
| Menu | Option 3 |
|-------------------------|
| Option 1 |
| Option 2 |
____________
Я нашел хороший пример с панелями инструментов и раскрывающимся меню here, но я не знаю, где я должен поставить код
Я уже пытался использовать что-то вроде
items: [
{ text: 'Menu', menu: [{text: 'Option 1'}, {text: 'Option 2'}] },
{ text: 'Option 3', handler: 'onOption3Click' },
]
Но это не работает.
Редактировать:
Я понял, что приведенный выше код работает для классического инструментария, как доказал @Alexander. Но я использую современный инструментарий . Есть ли способ сделать то же самое для этого?
[Должно работать. это работает для меня.] (https://fiddle.sencha.com/#fiddle/1kbb) – Alexander
Извините, я забыл сказать, что я использую современный инструментарий. Есть ли способ сделать то же самое с использованием современного инструментария вместо классического? – Peter
Нет, нет, потому что как вы наведете пункт меню на сенсорном экране. Вы можете заглянуть в документацию/ссылку на современный инструментарий, найти меню, и вы обнаружите, что кнопка не имеет ни одного, только окно просмотра, и это меню не является деревом, а просто списком. – Alexander