跳到主要内容

消息对话框(MessageDialog)

消息对话框MessageDialog 类是一个模态对话框,用于向用户传递信息或向用户提问并接收回答。消息对话框还可以显示一个图标,并提供标准按钮以接受用户的响应。

消息对话框支持四种预定义的消息级别(或消息类型),它们的区别主要在于显示的预定义图标。可以通过设置 icon 属性为预定义的图标之一来指定消息类型。以下是四种预定义消息类型的说明:

图标名称描述
提问(Question)用于在正常操作中向用户提问。
信息(Information)用于报告正常操作中的信息。
警告(Warning)用于报告非关键性错误。
严重(Critical)用于报告关键性错误。

消息对话框支持四种标准按钮,以下枚举值描述了这些标准按钮的标志:

ConstantValueDescription
Ok0x0001一个“确定”按钮。
Cancel0x0002一个“取消”按钮。
Yes0x0004一个“是”按钮。
No0x0008一个“否”按钮。

示例代码

静态函数

可以使用静态函数快速创建消息对话框,这些函数包括 information()、question()、warning() 和 critical()。

MessageDialog.information('Information', 'The file has been loaded.', MessageDialog.Ok);
// 显示一个信息对话框,标题为“Information”,内容为“文件已加载”,并带有“确定”按钮。

获取用户点击的按钮

可以在回调函数中获取用户点击的按钮。

const buttons = MessageDialog.Yes | MessageDialog.No; // 定义对话框按钮
const buttonCallback = (button: number): void => { // 回调函数
switch (button) {
case MessageDialog.Yes:
// 用户点击了“是”按钮
break;
case MessageDialog.No:
// 用户点击了“否”按钮
break;
default:
// 不应该到达这里
break;
};
};
MessageDialog.question('Question', 'Do you want to save your changes?', buttons, buttonCallback);

// 显示一个提问对话框,标题为“Question”,内容为“是否保存更改?”,带有“是”和“否”按钮,并处理用户响应。