Sencha Touch,MessageBox更改默认值

时间:2014-06-25 14:53:43

标签: javascript sencha-touch messagebox

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

我遇到了这段代码的问题。对于这个特定的消息框,我希望高度为300并且可滚动为真,因为消息非常大。但是在调用此消息后,任何消息框(确认,警报,提示)似乎都会继承我不想要的高度和可滚动值。

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

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

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

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

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

有没有人知道解决这个问题的方法?对不起,这是一个很长的帖子,但我现在完全被卡住了。

1 个答案:

答案 0 :(得分:2)

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

然后你的代码看起来像这样:

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