在 dijit PopupMenuBarItem 中显示图标和标签

Show icon along with label in dijit PopupMenuBarItem

本文关键字:图标 标签 显示图 显示 dijit PopupMenuBarItem      更新时间:2023-09-26

我需要在菜单栏项中显示图标,并在dijit菜单栏中显示其标签。根据文档,我们可以通过在配置中指定 iconClass 属性来设置图标。以下是代码,但图标仍未显示。是道场的虫子吗?

var form1 = {};
require(["dojo/ready", "dijit/MenuBar", "dijit/PopupMenuBarItem"], function (ready, MenuBar, PopupMenuBarItem) {
    ready(function () {
        form1.menu_bar = new MenuBar({}, "menu");
        form1.item1 = new PopupMenuBarItem({
            label: "Cut",
            iconClass: "dijitEditorIcon dijitEditorIconCut"
        }, "item1");
        form1.menu_bar.addChild(form1.item1);
        form1.menu_bar.startup();
    });
});

JS-小提琴:http://jsfiddle.net/X2xjt/

文档确实是正确的。 如果将 PopupMenuBarItem 换成 dijit/MenuItem,您将看到图标按预期呈现在菜单项旁边。 PopupMenuBarItem 要求在创建时指定 popup 属性(请参阅参考文档),这会导致在调用form1.menu_bar.startup()时引发错误。

var form1 = {};
require(["dojo/ready", "dijit/MenuBar", "dijit/MenuItem"], function (ready, MenuBar, MenuItem) {
    ready(function () {
        form1.menu_bar = new MenuBar({}, "menu");
        form1.item1 = new MenuItem({
            label: "Cut",
            iconClass: "dijitEditorIcon dijitEditorIconCut"
        }, "item1");
        form1.menu_bar.addChild(form1.item1);
        form1.menu_bar.startup();
    });
});

http://jsfiddle.net/X2xjt/2/

找到了答案。dijit/PopupMenubarItem不可能做到这一点。这就是原因,为什么 http://dojotoolkit.org/reference-guide/1.9/dijit/MenuBar.html#icons