如何销毁extjs窗体?

2025-04-06 10:11:09
推荐回答(2个)
回答1:

配置closeAction: 'close' 属性



API中这样讲:


closeAction : String 


当关闭按钮被点击时执行的操作。 默认的操作是'close',这将把窗口从DOM中移除...
当关闭按钮被点击时执行的操作。 默认的操作是'close',这将把窗口从DOM中移除并摧毁它。 另一个合法的选项是'hide',这将简单地隐藏窗口,通过 设置它的visibility为hidden,并且设置一个负数偏移量。 通过 show 方法可以让窗口重新显示。

1、触发 beforedestroy      

这是一个可取消的事件,如果需要,可能通过提供事件代理来阻止组件被销毁。   

2、调用 beforeDestroy 方法     

又一个模板方法,在子类中可以重新实现和调用父类的方法。   

3、移除事件监听者(代理)     

如果组件已被呈现,则移除它底层的 HTML 元素的事件监听列表,然后将元素从 DOM中移除。 

4、onDestroy 被调用 

这个还是一个模板方法,在子类可以重新实现。这里需要注意的是,容器类提供了一个默认的 onDestroy 实现,它会循环销毁它的成员组。

5、组件实例从 ComponentMgr 中反注册 

不可以再通过 Ext.getCmp 获取到对象实例。 

6、destroy 事件被触发 

这只是一个简单的提醒,表示组件销毁成功。 

7、移除 Component 上的事件代理

组件可以独立于元素,自己拥有事件代理,如果存在则移除它们。

回答2:

window的话
closeAction : String

这个参数来设置关闭方式,默认是close
你也可以设成‘hide’

方法close();它会根据claseAction里面设置的值来调用是隐藏还是关闭 。

还有就是destroy()方法,直接销毁