ExtJS 是一种流行的JavaScript库,专门用于构建富客户端应用程序,特别是Web应用的用户界面。它提供了丰富的组件库,包括各种控件、布局管理和数据绑定机制。在这个“ExtJS2.0学习系列”中,我们将专注于Ext.MessageBox,这是一个非常实用的模块,用于显示警告、确认和输入对话框。
1. **Ext.MessageBox.alert()方法**
这个方法用于显示一个简单的警告对话框,包含一个确定按钮。它接受三个参数:`title`(对话框标题)、`msg`(显示的消息)和一个可选的回调函数`function()`,该函数在用户点击确定按钮后执行。例如:
```javascript
Ext.MessageBox.alert("提示", "这是一个警告消息");
Ext.MessageBox.alert("提示", "这是另一个消息", function() {
alert("对话框已关闭");
});
```
2. **Ext.MessageBox.confirm()方法**
confirm方法与alert类似,但提供了两个选项:确认和取消。它也接收三个参数,最后一个参数是回调函数,会传递用户点击的按钮值('yes'或'no')。例如:
```javascript
Ext.MessageBox.confirm("确认", "你确定吗?", function(e) {
if (e === 'yes') {
alert('用户选择了确定');
} else {
alert('用户选择了取消');
}
});
```
3. **Ext.MessageBox.prompt()方法**
prompt方法允许用户输入文本,具有四个参数:`title`,`msg`,一个回调函数和一个可选的`multiline`标志。回调函数接收两个参数:用户点击的按钮值('ok'或'cancel')和用户输入的文本。例如:
```javascript
Ext.MessageBox.prompt("请输入", "请输入名字", function(e, text) {
if (e === 'ok') {
alert('你输入的名字是:' + text);
}
});
```
如果设置`multiline`为`true`,则输入框变为多行文本框。
4. **Ext.MessageBox.show()方法**
这是最灵活的方法,允许完全自定义对话框。通过配置对象,你可以设置`animEl`(动画效果元素)、`buttons`(自定义按钮)、`closable`(是否可关闭)、`msg`、`title`、`fn`(关闭后的回调函数)、`icon`(图标类型)、`width`、`prompt`和`multiline`等属性。例如:
```javascript
Ext.MessageBox.show({
title: "自定义对话框",
msg: "这是一个自定义消息",
buttons: {ok: "确定", cancel: "取消"},
fn: function(buttonId) {
alert('用户点击了' + buttonId);
},
animEl: "dialogAnim",
icon: Ext.MessageBox.INFO
});
```
此外,还有其他一些高级特性,如`progress`(静态进度条)和`wait`(动态等待指示器),可以通过`waitConfig`进一步配置。
总结来说,Ext.MessageBox提供了一套完整的对话框解决方案,适用于各种交互场景。通过灵活的配置选项,开发者可以创建符合项目需求的定制化对话框,提升用户体验。在学习ExtJS2.0的过程中,理解和熟练使用这些方法是构建高效用户界面的关键步骤。