图标类不适用于包含文本字段的ExtJS菜单项

6rvt4ljy  于 2023-04-05  发布在  其他
关注(0)|答案(1)|浏览(67)

在一个ExtJS6经典模式的应用程序中,我试图配置一个菜单,其中既有常规项,也有带输入字段的项,其想法是让用户单击常规项,然后显示一个可以编辑文本的项

items: [{
  text        : '<b>Add to Favorites</b>',
  iconCls     : 'ico-new',
  hideOnClick : false,
  handler     : 'onAddToFavorites',
  hidden      : false,
  bind        : {
    hidden    : '{isEditing}'
  }
},{
  xtype       : 'textfield',
  iconCls     : 'ico-new',  // ignored by ExtJS - why?
  selectOnFocus: true,
  anchor      : '100%',  
  hidden      : true,
  bind        : {
    hidden    : '{!isEditing}'
  }
}];

它工作得很好,但是iconCls属性对于带有xtype:'textfield'的项目完全被忽略。实际上,它似乎只影响常规项目。
所以问题是如何让ExtJS显示包含输入字段的项目的菜单图标。

sqxo8psd

sqxo8psd1#

对于此问题,如果您想为每个项目放置所需的图标,则应使用iconcls配置,该配置将图标显示为黑色。

{  text        : '<b>Add to Favorites</b>',  iconCls     : 'far fa-users',hideOnClick : false,handler     : 'onAddToFavorites',hidden      : false,bind        : {hidden    : '{isEditing}'}}

但如果要将图标以不同的颜色摆放,就应该对每一项使用cls配置,并在定义主类的路径中创建一个同名的css或scss文件,并使用图标内容配置输入,在要显示的每一项旁边显示图标
x一个一个一个一个x一个一个二个x
第三种方法是菜单中使用的所有项都将其usehtml配置设置为true,您可以在文本部分使用html命令。

{  text        : '<b><i class="far fa-tags"  style="font-size:16px;color:#FFF">Add to Favorites</b>',  iconCls     : 'far fa-users',hideOnClick : false,handler     : 'onAddToFavorites',hidden      : false,bind        : {hidden    : '{isEditing}'}}

相关问题