キャンセル ボタンとデフォルトの [x] を含むウィンドウがあります。ユーザーがキャンセル ボタンをクリックすると、特定のフラグがチェックされ、ウィンドウが閉じられ、データベースが更新されます。私は me.close(this); を使用しています。キャンセルボタンのウィンドウを閉じます。ユーザーが [x] をクリックすると、同じフラグをチェックしてデータベースを更新し、ウィンドウを閉じます。そのフラグの状態を確認するために、リスナーを追加しました このリスナーは正常に動作します。しかし、リスナーを追加した後、キャンセル ボタンをクリックすると、close イベントが 2 回呼び出されます。したがって、データベースの更新は 2 回行われます。ウィンドウの[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
}
}
}
});