gpt4 book ai didi

extjs4 - Extjs 窗口关闭事件

转载 作者:行者123 更新时间:2023-12-04 12:20:06 24 4
gpt4 key购买 nike

我有一个带有取消按钮和默认关闭 [x] 的窗口。当用户单击取消按钮时,它应该检查特定标志并关闭窗口并更新数据库。我正在使用 me.close(this);用于关闭取消按钮的窗口。当用户单击 [x] 时,它应该检查相同的标志并更新 db,然后关闭窗口。为了检查该标志条件,我添加了一个监听器
这个监听器工作正常。但是添加监听器后,点击取消按钮,关闭事件被调用两次。所以数据库更新发生两次。
有人可以建议我如何处理窗口的 [x] 关闭事件

Ext.define('MyApp.view.updateForm', {
extend: 'Ext.window.Window',
height: 600,
width: 800,
layout: {
type: 'absolute'
},
title: 'Update Window',
modal: true,
initComponent: function() {

Ext.applyIf(me, {
items: [
{
xtype: 'button',
id:'btnCancel',
handler : function(){
if(flag == true){
//add to db
me.close(this);
}
}
}]
});
me.callParent(arguments);
},

listeners:{
close:function(){
if(flag == true){
alert("close window");
//add to db
}
}
}

});

最佳答案

我已经完成了这个有一些细微差别的精确实现,并且可以证明这完全按预期工作。

这是我的代码:

 Ext.create('Ext.window.Window', {
...
buttons:[
{
text:'Finish',
handler:function () {
this.up('window').close();
}
}
],
listeners:{
close:this.someFunction,
scope:this
}
....

这完美地工作。这告诉我问题在您的代码中的其他地方。

关于extjs4 - Extjs 窗口关闭事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15383220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com