javascript - 如何在加载时根据条件隐藏 Ext 菜单中的项目

标签 javascript jquery extjs menu

我试图根据条件隐藏 Ext.menu.Menu 中的项目,但是我找不到菜单的触发加载事件。你能给我建议吗。

//var lala //= 1 2 or 3

var menu = Ext.create('Ext.menu.Menu', {
        id: 'mainMenu',
        items: [

            {
                text: 'I like Ext',
                checked: true,       // condition 1
                checkHandler: onItemCheck
            }, {
               text: 'Choose a Date',
               iconCls: 'calendar',
               menu: dateMenu // <-- condition 2
           },{
               text: 'Choose a Color',
               menu: colorMenu // <-- condition 3
           }
        ]
    });

示例:如果 lala = 1,则仅在菜单中显示复选框。 谢谢。

最佳答案

您可以在菜单项上使用 afterRender 监听器:

{
    text: 'Choose a Date',
    iconCls: 'calendar',
    menu: dateMenu // <-- condition 2
    listeners: {
        afterRender: function() {
            if (lala == 2)
                this.hide();
        }
    }
}

关于javascript - 如何在加载时根据条件隐藏 Ext 菜单中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44314204/

相关文章:

jquery - htaccess 和哈希隐藏

javascript - JQuery 使用 jQuery Post 和 data() 将数据发送到页面

extjs - 动态地在商店中使用额外的参数

javascript - HTML5 视频作为 Sench Touch iOS 应用程序的启动画面

javascript - jQuery 如果 div 包含文本,切换按钮

javascript - Owlcarousel2 "dots:true"不工作?

javascript - 获取 Uploadify 错误 : uploadifySettings Not A Function

extjs - Sencha Touch - 寻找一个好的教程/内容应用程序入门

javascript - 在编译和缩小时让 child_process.fork() 在 electron 中工作

javascript - ngAnimate 仅在 IE9 中部分降级