我做了类似的事情..
var mymenu = Ext.create('Ext.menu.Menu');
for (var i = 0; i < store.getCount(); ++i){
var record = store.getAt(i);
var menuItem = Ext.create('Ext.menu.Item' ,{
xtype: 'menucheckitem',
checked : false,
text : record.data.rollName,
value : record.data.rollId
});
mymenu.add(menuItem);
}
但我的菜单中没有复选框。只有显示字段可见。
答案 0 :(得分:3)
Ext可以理解两种类型的xtype
属性,它们彼此紧密相连。
items:[{
xtype:'menucheckitem',
}]
会为您创建一个xtype menucheckitem
的项目。仅当存在分配了xtype menucheckitem
的类型时才有效。
Ext.define('Ext.menu.Item',{
xtype:'menucheckitem'
会将类型Ext.menu.Item
和分配定义为xtype menucheckitem
的类型,以便第一个示例有效。
var menuItem = Ext.create('Ext.menu.Item' ,{
xtype: 'menucheckitem',
这将创建一个Ext.menu.Item
类型的项目,并将对象的xtype属性设置为menucheckitem
(这不会产生任何影响,因为您没有定义类型,但创建单个实例)
您想要的是以下内容:
var menuItem = Ext.create('Ext.menu.CheckItem' ,{
没有xtype行!