首页 > 解决方案 > Extjs - 窗口刷新后重置事件

问题描述

我有一个Ext.window.Window带有它自己的控制器(2 个中的 1 个)。这个窗口有一个按钮,可以将行添加到网格中。它添加的行数与ajax 调用events后触发的行数直接相关。save

每次打开窗口时如何重置这些事件?成功后我正在重新初始化窗口save

窗户经常使用,需要closeAction: 'hide'

代码

var controller = this, // Window Controller
    activeRec = controller.activeRecord,
    store = Ext.getStore('Manage'), // Store for the window
    window = Ext.getCmp('window'), // window component
    submitMask = new Ext.LoadMask({target: window, msg: 'Saving data...'}),
    saveButton = Ext.ComponentQuery.query('#am_save_button');

Ext.Ajax.request({
    url: '/save',
    method: 'POST',
    jsonData: jsonChanges,
    scope: this,
    success: function (response, batch) {
        store.load();
        window.record = activeRec;
        controller.init();
        saveButton[0].disable();
        submitMask.hide();
    },
    [...]
});

安慰

dispatch
​
<this>: (optimized away)
​
args: (2) […]
​
arguments: Arguments
​
bus: (optimized away)
​
controllers: {…}
​
ev: "click"
​
event: {…}
​
events: (4) […] <-- needs to be '1'
​
i: 0
​
id: "AccountsManagementController"
​
ln: 4
​
me: {…}
​
selector: "accounts_management_grid button[name=\"am_add_account\"]"
​
selectors: {…}
​
target: {…}

记录的事件数

标签: javascriptextjsextjs4

解决方案


我简化了我的success,它现在正在工作。怀疑init电话是罪魁祸首:

    success: function (response, batch) {
        window.record = activeRec;
        saveButton[0].disable();
        submitMask.hide();
    },

推荐阅读