在使用Extjs4进行前端开发时发现,当在弹出的窗口(Ext.window.Window)中使用提示框(Ext.window.MessageBox)时候,会出现bug,即在window的配置使用了modal:true(蒙版效果,仅能对当前的window层进行操作)时,在使用Ext.window.MessageBox.wait(),以及Ext.window.MessageBox.confirm()之后再使用Ext.window.MessageBox.alert()会被隐藏到当前window层后方(蒙版效果),而不使用wait(),或者confirm()则可以正常显示,且alert的消息框默认也是有modal效果的
场景说明:
1.首先,一个附件上传的组件,该组件通过前台form提交附件到后台java处理并上传到ftp,上传过程中有个等待时间,调用了等待对话框(form提交的waitMsg属性也是同样效果)
Ext.window.MessageBox().wait('提示','正在上传...');
//form.submit();//提交form表单
//表单提交完成,后台返回json根据json判断是否上传成功,若成功:
Ext.window.MessageBox().alert('提示','文件***已经上传成功',function(){/*此处是上传成功后将附件的信息返回到UI上,我的是加载到grid上去*/});
2.在UI上会显示已经上传的附件列表,通过columnAction加入了两列分别是下载附件与删除附件,删除附件是一个确认对话框:
Ext.window.MessageBox().confirm('确认删除','确认删除当前选中附件?',function(id){
if(id=='yes'){