extjs 3 - 在按钮菜单中更改菜单项顺序

时间:2011-07-03 23:58:14

标签: javascript button menu menuitem extjs3

我想在按钮中更改菜单菜单项的顺序。例如,我有一个如下菜单:

menu1
menu2
menu3
menuA

我按此顺序添加它们(menuA,menu3,menu2,menu1)。现在我想将menuA移到顶部(菜单1之前),如下所示:

menuA
menu1
menu2
menu3

关于如何做到这一点的任何想法/建议?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

我想没有办法重新排序菜单项,所以现在我只需按照我要求的顺序添加菜单项,而不是稍后重新排序。

答案 1 :(得分:0)

我正在编写一个使用extjs3的HTA,我想实现一个最近的文件菜单,如果你从这个菜单中选择一个文件,所选的文件应该移到菜单的顶部。我通过删除所有项目然后在新订单中添加新项目来实现它

    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。