extjs 3 - изменить порядок пунктов меню в меню кнопки

Я хочу изменить порядок пунктов меню меню в кнопке. Например, у меня есть следующее меню:

menu1
menu2
menu3
menuA

Я добавляю их в таком порядке (менюА, меню3, меню2, меню1). Теперь я хочу переместить menuA вверх (перед меню 1), как показано ниже:

menuA
menu1
menu2
menu3

Любая идея/предложение о том, как это сделать?

Спасибо за помощь заранее.


person user427969    schedule 03.07.2011    source источник
comment
Никто не знает, как изменить порядок пунктов меню?   -  person user427969    schedule 06.07.2011
comment
Я думаю, вы можете вставить (0, menuA), а затем удалить (последний)   -  person tkcn    schedule 25.02.2013


Ответы (2)


Я пишу HTA, который использует extjs3, и я хотел реализовать меню последних файлов, где, если вы выберете файл из этого меню, выбранный файл должен быть перемещен в верхнюю часть меню. Я заставил его работать, удалив все элементы, а затем добавив новые элементы в новом порядке.

    ResktopDeporter.getRecentFilesMenuItems = function() {
            var a = [];
            Ext.each(ResktopDeporter.recentfiles, function(item, index) {
                a.push(new Ext.menu.Item({
                    text: item,
                    handler: function() {
                        ResktopDeporter.recentfiles.remove(this.text);
                        ResktopDeporter.recentfiles.unshift(this.text);
                        ResktopDeporter.saveRecentFiles();

                        var parent = this.parentMenu;
                        parent.hide(true);
                        parent.removeAll(true);
                        var items = ResktopDeporter.getRecentFilesMenuItems();
                        Ext.each(items, function(item, index) {
                            parent.addItem(item);    
                        });

                        ResktopDeporter.openDocument(this.text);

                    }
                }));
            });
            return a;
        }

ResktopDeporter.recentfiles — это просто массив путей к файлам, а saveRecentFiles() записывает список в файл cookie.

person Community    schedule 22.12.2011

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

person user427969    schedule 11.07.2011