Dorado 9 : 系统对话框(sample-center)

alert

默认系统对话框

效果:

实现办法:

dorado.MessageBox.alert("这是一段提示信息。");
自定义系统图标

系统对话框中的图标可以自定义,如下的图标:

实现办法在MessageBox的alert中添加一个JSON参数,设置JSON的icon属性:

dorado.MessageBox.alert("这是一段提示信息。", {
	icon: "WARNING"
});

confirm

实现办法(利用MessageBox的confirm方法):

dorado.MessageBox.confirm("请作出您的选择...", function() {
	dorado.widget.NotifyTipManager.notify("您选择了\"是\"。");
});

上述代码中confirm下的function()参数只在用户选择了"是"按钮下才触发。如果想详细控制用户选择了"是"还是"否"按钮之后的操作,可以通过如下的JSON写法定义detailCallback属性:

dorado.MessageBox.confirm("请作出您的选择...", {
	detailCallback: function(button, text) {
		dorado.widget.NotifyTipManager.notify("您选择了\"" + button + "\"。");
	}
});

通过以上detailCallback函数的定义,无论用户选择了"是"还是"否",都会触发自定义的function,并且button参数表示用户选择的是那个按钮,"是"的button值为"yes", "否"的button值为"no"

prompt

MessageBox还支持prompt特性,用户可以在弹出的系统对话框中输入一段文字,如下所示:

实现办法:

dorado.MessageBox.prompt("请输入一段文本:", function(text) {
	dorado.widget.NotifyTipManager.notify("您输入了:" + text);
});

注意这儿调用了MessageBox的prompt方法,其中的function函数用于当用户单击了确定按钮后接收用户输入的文本框的值。

如果希望系统对话框中采用多文本编辑框,则可以使用promptMultiLines方法:

dorado.MessageBox.promptMultiLines("请输入一段文本:", {
	defaultText: "这是一段默认的文字",
	callback: function(text){
		dorado.widget.NotifyTipManager.notify("您输入了:" + text);
	}
});

promptMultiLines方法接收一个JSON参数,通过这个JSON对象可以定义系统对话框的详细行为。

show

另外MessageBox还提供了一个show方法,用于更灵活的控制系统对话框的详细特性,如下的范例:

dorado.MessageBox.show({
	icon: "WARNING",
	title: "自定义个的标题",
	message: "这是一个自定义的对话框",
	buttons: ["yes", "no", "cancel"],
	closeAction: "cancel",
	detailCallback: function(button, text) {
		dorado.widget.NotifyTipManager.notify("您选择了\"" + button + "\"。");
	}
});

页面显示效果如下:

从效果上可以看出标题,提示信息,提示信息的icon图片都已经调整过。

有关show方法更详细的使用说明,请参考Clientp-API。