Javascript 如何添加optgroup do dijit.form.Select或其他小部件类型

Javascript 如何添加optgroup do dijit.form.Select或其他小部件类型,javascript,dojo,dijit.form,Javascript,Dojo,Dijit.form,我需要在dijit/dojo小部件中创建一个“类别”划分,可以是dijit.form。选择或其他类型 视觉效果应该类似(使用optgroup时): 沃尔沃汽车 萨博 梅赛德斯 奥迪 据我所知,dijit不应该直接支持它。 但是,在属性标签中添加HTML标记可以获得类似的视觉效果 使用标记的示例,该标记使小部件中的条目斜体(您可以在此处添加您真正喜欢的内容,甚至可以添加图像并使用CSS设置样式): require([“dijit/form/Select”,“dojo/_base/window”

我需要在dijit/dojo小部件中创建一个“类别”划分,可以是
dijit.form。选择
或其他类型

视觉效果应该类似(使用optgroup时):


沃尔沃汽车
萨博
梅赛德斯
奥迪

据我所知,dijit不应该直接支持它。 但是,在属性
标签中添加HTML标记可以获得类似的视觉效果

使用
标记的示例,该标记使小部件中的条目斜体(您可以在此处添加您真正喜欢的内容,甚至可以添加图像并使用CSS设置样式):

require([“dijit/form/Select”,“dojo/_base/window”,“dojo/domReady!”),函数(Select,win){
新选择({
名称:“选择2”,
选项:[
{标签:“瑞典汽车”,价值:},
{标签:“沃尔沃”,价值:“沃尔沃”},
{标签:“萨博”,值:“萨博”,选择:true},
{标签:“德国汽车”,价值:},
{标签:“梅赛德斯”,价值:“梅赛德斯”},
{标签:“奥迪”,价值:“奥迪”}
]
}).placeAt(win.body()).startup();
});

编辑:

为了为我的一个项目找到这个问题的解决方案,我创建了一个新的专用组件(MIT许可证)

SelectOptgroup是一个可设置样式、可搜索的下拉选择框 Dojo,包括选项分组(类似于html 带有的元素)

用法示例:

var instance = new SelectOptgroup({
    options: [
        {
            label: 'Optgroup item',
            value: '',
            optgroup: true // mark menu item as optgroup
        },
        {
            label: 'Option item',
            value: 'option '// mark menu item as option
        },
        {
            label: '', // empty strings mark menu item as separator
            value: ''
        },
        {
            label: '<div class="SelectOptgroup__nested"><span class="select__icon">Icon Text</span></div>', // html allowed in menu item
            value: 'grunt'
        }
    ]
}, 'domId');
var instance=new SelectOptgroup({
选项:[
{
标签:“Optgroup项”,
值:“”,
optgroup:true//将菜单项标记为optgroup
},
{
标签:“选项项”,
值:“选项”//将菜单项标记为选项
},
{
标签:“”,//空字符串将菜单项标记为分隔符
值:“”
},
{
标签:'图标文本',//菜单项中允许使用html
值:“咕噜”
}
]
}"多米德",;

替代解决方案:

据我所知,dijit不应该直接支持它。 但是,在属性
标签中添加HTML标记可以获得类似的视觉效果

使用
标记的示例,该标记使小部件中的条目斜体(您可以在此处添加您真正喜欢的内容,甚至可以添加图像并使用CSS设置样式):

require([“dijit/form/Select”,“dojo/_base/window”,“dojo/domReady!”),函数(Select,win){
新选择({
名称:“选择2”,
选项:[
{标签:“瑞典汽车”,价值:},
{标签:“沃尔沃”,价值:“沃尔沃”},
{标签:“萨博”,值:“萨博”,选择:true},
{标签:“德国汽车”,价值:},
{标签:“梅赛德斯”,价值:“梅赛德斯”},
{标签:“奥迪”,价值:“奥迪”}
]
}).placeAt(win.body()).startup();
});

编辑:

为了为我的一个项目找到这个问题的解决方案,我创建了一个新的专用组件(MIT许可证)

SelectOptgroup是一个可设置样式、可搜索的下拉选择框 Dojo,包括选项分组(类似于html 带有的元素)

用法示例:

var instance = new SelectOptgroup({
    options: [
        {
            label: 'Optgroup item',
            value: '',
            optgroup: true // mark menu item as optgroup
        },
        {
            label: 'Option item',
            value: 'option '// mark menu item as option
        },
        {
            label: '', // empty strings mark menu item as separator
            value: ''
        },
        {
            label: '<div class="SelectOptgroup__nested"><span class="select__icon">Icon Text</span></div>', // html allowed in menu item
            value: 'grunt'
        }
    ]
}, 'domId');
var instance=new SelectOptgroup({
选项:[
{
标签:“Optgroup项”,
值:“”,
optgroup:true//将菜单项标记为optgroup
},
{
标签:“选项项”,
值:“选项”//将菜单项标记为选项
},
{
标签:“”,//空字符串将菜单项标记为分隔符
值:“”
},
{
标签:'图标文本',//菜单项中允许使用html
值:“咕噜”
}
]
}"多米德",;

替代解决方案:

我想你已经知道答案了;)我想你已经知道答案了;)