如何在sencha中设置Ext.Msg.show的位置

时间:2013-04-08 12:45:47

标签: extjs sencha-touch sencha-touch-2

如何在senchatouch中为Ext.Msg.show设置不同的位置。我尝试过使用方法

msg.getDialog().getPositionEl().setTop(50);

&安培;

msg.getDialog().setPosition(undefined,50)

但是我收到错误Object [object Object] has no method 'getPositionEl'Object [object Object] has no method 'getDialog'

我甚至在sencha的MessageBox.js文件中检查了这些方法,但它们不存在。

然而网上几乎解决方案似乎推荐这些方法。专家们可以提出建议。

1 个答案:

答案 0 :(得分:1)

您可以通过指定lefttop配置选项将消息框置于特定位置。

launch: function() {
    var msg = Ext.Msg.show({
            title:'Some title',
            message:'Sample message container.',
            left:50, // mention initial positioning with left and top config.
            top:50,
            buttons:[{  //create as many buttons you want. 
                text:'Ok',
                ui:'action',
                handler:function(btn){
                    if(msg.getTop() == 200) // Just for demo. Click Ok and place msg box to some other position. If clicked again, hide message box
                        msg.hide();
                    else{
                        msg.setTop(200); 
                        msg.setLeft(200);
                    }
                }
            }]
    });
}

除配置选项外,您还可以将消息框与setTop()setLeft()方法对齐。

Demo。正如您所看到的,消息框未放置在中心,因为它的默认位置是居中位置,而是将其顶部和左侧设置为50。