Sencha Touch, MessageBox更改默认值

Sencha Touch, MessageBox changing defaults

本文关键字:默认值 MessageBox Touch Sencha      更新时间:2023-09-26
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文档显示的默认高度被设置为'auto',这不是在此语句中传递的有效值。

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

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

那么你的代码可能看起来像这样:

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