在最基本的形式中,EXTJS提示符如下:
Ext.MessageBox.prompt('Name', 'Please enter your name:', showResultText);
});
现在在我的应用程序中,有一个steylesheet会将所有消息框呈现为灰色。按钮也是灰色的,因此按钮与提示框的灰色背景无法区分。那么有没有办法自定义提示,以便我可以在按钮Ok和Cancel旁边放置一个边框?我的另一个问题是:有没有办法在提示框中放置帮助图标?在MessageBox中,有一个名为ICON的配置选项。有没有办法在提示符中使用此选项?
答案 0 :(得分:0)
1)将图标添加到提示框:
Ext.MessageBox.prompt
只是一个为Ext.MessageBox.show
提供一些默认选项的包装器方法,因此您可以创建一个使用您自己的选项的不同包装器方法,然后您可以轻松覆盖Ext.MessageBox.prompt
使用自定义提示包装器
var customPrompt = function(title, msg, fn, scope, multiline, value){
Ext.MessageBox.show({
title : title,
msg : msg,
buttons: Ext.MessageBox.OKCANCEL,
fn: fn,
minWidth: Ext.MessageBox.minPromptWidth,
scope : scope,
prompt:true,
multiline: multiline,
value: value,
icon : Ext.MessageBox.QUESTION
});
return Ext.MessageBox;
};
customPrompt('title', 'message');
2)更改按钮的样式:
按钮元素存储在对话框组件中以供参考,因此您可以获取这些元素并将自定义类添加到按钮
var dlg = Ext.MessageBox.getDialog();
var buttons = dlg.buttons;
for(i = 0; i < buttons.length; i++) {
buttons[i].addClass('custom-css-class'); // class that will do styling of buttons
}