5

我正在使用 Extjs 4.1。

如何通过按钮单击操作从已经使用此方法的表单中调用控制器方法?我希望这个方法可以从表单字段中重用,但我不知道该怎么做。

// 这是我的控制器代码

 init: function() {
    this.control({            
        'salewindow button[action=resetAll]': {
            click: this.resertform
        }
    });
},

resertform : function(button){       
    var store = Ext.data.StoreManager.get('Items');
    store.destroy();
    var vatstore = Ext.data.StoreManager.get('Vats');
    vatstore.reload();            
}

//这是我的字段监听器

{
    xtype         : 'textfield',
    name          : 'BranchId',
    fieldLabel    : 'Branch Id',
    allowNegative : false,
    id            : 'branchid',
    value         : '1',                
    onBlur        : function(){                                        
        restoreItem();// I want to call above controller method from here
    } 
}
4

1 回答 1

5

只需触发事件,例如:

    {
        xtype         : 'textfield',
        name          : 'BranchId',
        fieldLabel    : 'Branch Id',
        allowNegative : false,
        id            : 'branchid',
        value         : '1',                
        onBlur: function(){                                        
            this.up().down('button[action=resetAll]').fireEvent('click');
        } 
    }

例如,作为方法 up 参数,您可以使用“窗口”。

于 2012-11-29T13:14:43.770 回答