gpt4 book ai didi

javascript - 是否可以使用 Dijit/Menu 在 Dijit 的特定位置插入菜单项

转载 作者:行者123 更新时间:2023-11-30 16:52:13 27 4
gpt4 key购买 nike

我有一个菜单,其内容需要根据用户交互进行显着更改。这意味着需要引入一些新的菜单项,也需要删除一些菜单项。查看 Dojo 已发布的 API 文档,似乎没有一种方法可以在不删除现有项目并从头开始重新创建菜单的情况下重做菜单的内容。

dijit/MenugetChildren() 方法返回一个数组,表明可能有一种相对简单的方法可以在特定索引位置插入菜单选项。然而不幸的是,我找不到将菜单项数组附加到 dijit/Menu 中的方法。

有人知道直接的方法(使用 API)吗?

最佳答案

dijit/Menu 缺少一些相当主流的用例。我做了一个自定义实现,添加了我似乎一直想要的各种功能。其中包括切换给定的菜单项。

I've pastebin'd my "dijit/ContextMenu" widget (my name, not theirs) here ,但答案是否定的,你必须自己做。您可以根据需要动态添加/删除 MenuItem,或者我所做的是在创建时将它们全部注入(inject),然后根据需要显示/隐藏:

    [snip]
hideMenuItem :function(menuItemId){
var menuItems = this.getChildren();
for(var i=0; i < menuItems.length; ++i){
if(menuItemId === menuItems[i].id){
domStyle.set(menuItems[i].domNode, "display", "none");
break;
}
}
},

showMenuItem : function(menuItemId){
var menuItems = this.getChildren();
for(var i=0; i < menuItems.length; ++i){
if(menuItemId === menuItems[i].id){
domStyle.set(menuItems[i].domNode, "display", "");
break;
}
}
}
[/snip]

关于javascript - 是否可以使用 Dijit/Menu 在 Dijit 的特定位置插入菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30354297/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com