【问题标题】:How to define listeners for Ext.Msg?如何为 Ext.Msg 定义监听器?
【发布时间】:2020-02-29 12:00:14
【问题描述】:

我在 Ext.Msg 上定义了一些监听器,但它们从未被解雇。有什么我想念的吗?

Ext.Msg.show({
    title:'Save Changes?',
    message: 'You are closing a tab that has unsaved changes. Would you like to save your changes?',
    buttons: Ext.Msg.YESNO,
    icon: Ext.Msg.QUESTION,
    defaultListenerScope: true,
    fn: function(btn) {
        if (btn === 'yes') {
            console.log('Yes pressed');
        } else if (btn === 'no') {
            console.log('No pressed');
        } else {
            console.log('Cancel pressed');
        }
    },
    listeners: {
        activate: function(mb){
            console.log('Height: '+mb.getHeight()+' Width: '+mb.getWidth());
        },
        afterrender: function(mb){
            console.log('Height: '+mb.getHeight()+' Width: '+mb.getWidth());
        } 
    }
});

【问题讨论】:

    标签: events extjs listener


    【解决方案1】:

    您在show() 上附加了侦听器配置,这是Ext.MessageBox 的一种方法,它没有任何配置,例如侦听器。您可以在 MessageBox 上附加侦听器,然后使用 show() 方法显示消息框。下面是显示行为的 sn-p。

    var myMsg = Ext.create('Ext.window.MessageBox', {        
       listeners: {
          activate: function(mb){
              console.log('Height: '+mb.getHeight()+' Width: '+mb.getWidth());
          },
          afterrender: function(mb){
              console.log('Height: '+mb.getHeight()+' Width: '+mb.getWidth());
          } 
       }
    });
    
    myMsg.show();
    

    你可以找到工作小提琴here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-29
      • 2020-08-17
      • 1970-01-01
      • 2012-04-10
      相关资源
      最近更新 更多