[英]ExtJs 4.2 nested prompt message box
我有一个看起来像这样的代码:
Ext.Msg.prompt( Translation.RefusalMessageBoxTitle, "",
function(btn, text, cfg ){
if(btn == 'ok' && Ext.isEmpty(text)) {
var newMsg = '<span style="color:red;" class="error">' + Translation.RefusalMessageBoxEmpty + '</span>';
Ext.Msg.show(Ext.apply({}, { msg: newMsg }, cfg));
}else if( btn !== 'ok' ){
return;
}else if( btn == 'ok' ){
this.sendRefusalAnswer( methodName, text, "reject", Constant.DocumentStatus.REFUSED, me.selectedDocument.get('id'));
}
}, this, true, '' );
现在的mz问题是
var newMsg = '<span style="color:red;" class="error">' + Translation.RefusalMessageBoxEmpty + '</span>';
Ext.Msg.show(Ext.apply({}, { msg: newMsg }, cfg));
代码的一部分被执行了,但是盒子突然关闭了……我该如何防止呢? 有任何想法吗?
编辑:
仅在EXTJS 4.2版本上才发生这种情况生成日期:2013-03-11 22:33:40(aed16176e68b5e8aa1433452b12805c0ad913836)仅适用!
版本建立日期:2013-05-16 14:36:50(f9be68accb407158ba2b1be2c226a6ce1f649314)正常工作
不要使用Ext.Msg
单例,而要使用常规窗口或自己创建Ext.window.MessageBox
多个实例。 单例本身就是一个窗口,并且该组件由alert
, confirm
, prompt
等的所有调用共享,因此不可能同时显示多个窗口。
我将其转换为消息对象:
Ext.Msg.show({
title: Translation.RefusalMessageBoxTitle,
minWidth: this.minPromptWidth,
buttons: Ext.Msg.OKCANCEL,
callback: function(btn, text, cfg ){
if(btn == 'ok' && Ext.isEmpty(text)) {
var newMsg = '<span style="color:red;" class="error">' + Translation.RefusalMessageBoxEmpty + '</span>';
Ext.Msg.show(Ext.apply({}, { msg: newMsg }, cfg));
}else if( btn !== 'ok' ){
return;
}else if( btn == 'ok' ){
this.sendRefusalAnswer( methodName, text, "reject", Constant.DocumentStatus.REFUSED, me.selectedDocument.get('id'));
}
},
scope:this,
multiline: true,
});
但仍然不知道如何防止它向我靠近°_°
好的,我发现了……该死的构建版本在mz构建机器上是不同的。
我在当地有
建立日期:2013-03-11 22:33:40(aed16176e68b5e8aa1433452b12805c0ad913836)
在mz测试机上
建立日期:2013-05-16 14:36:50(f9be68accb407158ba2b1be2c226a6ce1f649314)
在我的本地机器上,dous不能正常工作...但是在测试机上,它可以正常工作... 3个月! wtf!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.