javascript - Sencha Touch、MessageBox 更改默认值

标签 javascript sencha-touch messagebox

Ext.Msg.show({
     title: 'Validation',
     message: message,
     height: 300,
     scrollable: true,
     buttons: Ext.MessageBox.OK
});

这段代码有问题。对于这个特定的消息框,我希望高度为 300 并且可滚动为 true,因为消息非常大。然而,在调用它之后,任何消息框(确认、警告、提示)似乎都继承了我不想要的高度和可滚动值。

我查看了 Ext.Msg 的 show() 方法的代码,它看起来像任何传递给配置的东西,即上面代码中的所有参数都合并到所有 Ext.Msg 对象的默认配置中。这似乎发生在这一行:

config = Ext.merge({}, this.defaultAllowedConfig, config);

我尝试寻找一种方法,允许我在调用 show 后将所有默认值重置为默认值,但看起来我做不到。使用

Ext.Msg.defaultAllowedConfig.height = [some number];

不起作用有两个原因,首先 defaulAllowedConfig 仅在没有默认值时才使用,用于显示任何特定消息,即提示警报或确认。其次,Sencha 文档显示的默认高度设置为“自动”,这不是在此语句中传递的有效值。

有人知道解决这个问题的方法吗?很抱歉,这是一篇很长的帖子,但我现在完全卡住了。

最佳答案

您可以通过为自定义消息框创建新的 Ext.MessageBox 实例来解决此问题,而不是使用 Ext.Msg 单例。

那么您的代码可能如下所示:

    Ext.create('Ext.MessageBox').show(
        {
            title: 'Validation',
            message: message,
            height: 300,
            scrollable: true,
            buttons: Ext.MessageBox.OK
        }        
    );

关于javascript - Sencha Touch、MessageBox 更改默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24412039/

相关文章:

javascript - 使用 ES6 箭头函数 Babelifying JavaScript 模块模式

Javascript:动态改变正弦波速度

javascript - 鼠标悬停时继续调用函数

image - PhoneGap 中的内存管理

c++ - Windows MessageBox 忽略 WM_CLOSE

c# - 如何防止使用 alt + F4 关闭任何表单

javascript - 使用 JavaScript 获取 href 值并在新窗口中打开它

javascript - 检测应用程序重新聚焦事件

c++ - C++ DLL不调用MessageBox; “未定义成员消息框”

javascript - itemtap 事件不会在所有点击时触发