如何为 Ext.Msg 定义监听器?

Posted

技术标签:

【中文标题】如何为 Ext.Msg 定义监听器?【英文标题】:How to define listeners for 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());
         
    
);

【问题讨论】:

【参考方案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

【讨论】:

以上是关于如何为 Ext.Msg 定义监听器?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Android 电视应用程序及其侦听器创建导航菜单抽屉

如何为多个 Jbutton 编写动作监听器

如何为列表视图适配器中的开关添加点击监听器

如何为某些按钮添加监听器 extjs

如何为android数据绑定点击监听器编写proguard规则?

如何为 recyclerView 上的两个不同事件设置监听器?