代码之家  ›  专栏  ›  技术社区  ›  PT_C

extjs-刷新窗口后重置事件

  •  0
  • PT_C  · 技术社区  · 6 年前

    我有一个 Ext.window.Window 有自己的控制器(1/2)。此窗口有一个按钮,用于向网格中添加行。它添加的行数与 events save Ajax调用。

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

    窗户经常使用,需要 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: {…}
    

    Number of events logged

    1 回复  |  直到 6 年前
        1
  •  0
  •   PT_C    6 年前

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

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