Ext.MessageBox标题,带有字体真棒图标

时间:2017-12-14 14:42:05

标签: javascript extjs extjs6 extjs6-modern

我试图在Ext.MessageBox标题中设置一个fontawesome图标,我设法使用以下代码完成它:

Ext.Msg.show({
        //iconCls: 'x-fa fa-times-circle',
        title: '<span class="x-fa fa-exclamation"> Error Title</span>',
        message: 'An error occured!!!!!',
        buttons: Ext.MessageBox.OK,
        width: 400
    });

阅读docs我发现我可以使用Ext.panel.Title组件的配置对象设置标题。

但是像下面的示例那样设置配置对象会使标题不可见。

title: {
    text: 'Error Title',
    iconCls: 'x-fa fa-exclamation'
}

同时检查Chrome开发者工具的Elements标签中的视图,我发现x-paneltitle类中的图标有div元素。

<div class="x-icon-el x-font-icon" id="ext-element-15"></div>

如何使用MessageBox配置设置Ext.panel.Title标题?

2 个答案:

答案 0 :(得分:2)

你已陷入文件陷阱。

标题配置在Ext.MessageBox类实例化中可用,因此,从技术上讲,也可以在show实例化,但不在Ext.create('Ext.MessageBox',{ title: { text: 'Error Title', iconCls: 'x-fa fa-exclamation' } }); 方法上,您可以在单个实例上调用已经为Sencha预先实例化了。

以下技术上使用自定义标题配置实例化一个消息框:

Ext.MessageBox

但是,要显示show,您必须调用cTag0 = ReadStoredValue() ' The value left from the previous sync. cTag1 = GetCTag() If cTag0 <> cTag1 Then Resync() End If UploadItem() ' Can get race condition if another client changes anything right now cTag2 = GetCTag() 方法,该方法已被覆盖,以便覆盖您添加到的每个自定义设置标题配置

答案 1 :(得分:1)

这对我有用:

Ext.Msg.show({
  title: {
    text: 'Error Title',
    iconCls: 'x-fa fa-exclamation'
  },
  message: 'You are closing a tab that has unsaved changes. Would you 
  like to save your changes?',
  buttons: Ext.Msg.YESNOCANCEL,
  icon: Ext.Msg.QUESTION,
  fn: function(btn) {
    if (btn === 'yes') {
        console.log('Yes pressed');
    } else if (btn === 'no') {
        console.log('No pressed');
    } else {
        console.log('Cancel pressed');
    }
  }
});

在这里使用它: https://docs.sencha.com/extjs/6.0.2/classic/Ext.window.MessageBox.html

它是经典6.0.2但它仍然有用。