如题,怎么解决。请求帮助
[url]http://www.17ext.com/showtopic-5610.aspx[/url] 修改样式源码
[code="js"]
Ext.MessageBox.show({
title: 'hehe',
msg: 'hehe',
buttons: Ext.MessageBox.OK,
icon: Ext.MessageBox.INFO,
width: 300
});
[/code]
加个width,写死。
如果你第一次如果只显示了几个字比如“操作成功!”,然后显示一个非常长的字符串“想想想想想想想想想想想想想想想想想想”,就存在这个问题,第二次show会保留第一次的width,我的做法就是将width手动写死。但是再回过头去显示“操作成功”是不会继续按照刚刚写死的width而是重新计算。
很可惜的是MessageBox没有提供对"autoWidth:true"的支持。比如某些panel是支持的,这样设置是可以自动计算的。
可能作者是觉得MessageBox只是用来显示一些简短的信息而已,所以没有提供这类相对复杂的功能。
解决方案:
1.width:300 数字改成你自己预测的需要的宽度【需要多次更改才能修改到最佳,没有重用性】
2.修改源代码【网上有教程,但不利于以后升级】
3.可以自己对MessageBox进行扩展。【需要对EXT比较熟悉】
4.用panel\window替代。自己手写一个通用的类似MESSAGEBOX的东西。