Ext自定义组件调用方法问题

Ext自定义组件调用方法问题

问题描述:

新手,第一次使用EXT自定义扩展组件,请大家帮的看看,代码大体如下

Ext.namespace("eddy.ms.UserInfoPanel");
eddy.ms.UserInfoPanel = function(config) {
var searchForm = new Ext.FormPanel({
...
});

var ds = new Ext.data.Store({
...
});

var grid = new Ext.grid.GridPanel({
...
ds:ds
...
});

Ext.apply(this, {
frame: true,
width: 300,
height: 300,
layout: 'border',
items:[searchForm, grid]
});

eddy.ms.UserInfoPanel.superclass.constructor.apply(this, arguments);
}

Ext.extend(eddy.ms.UserInfoPanel, Ext.Panel, {

onRender: function() {
eddy.ms.UserInfoPanel.superclass.onRender.apply(this, arguments);
},

  loadData:function() {
  [size=large][size=small] [b] //我想在这个方法里面使用上面的searchForm和grid,该怎么弄[/b][/size][/size]
  }

});

把searchForm和ds都注入到this就可以了,亦即把
[code="javascript"]
var searchForm = new Ext.FormPanel({
...
});

var ds = new Ext.data.Store({
...
});
[/code]
改成
[code="javascript"]
var searchForm = this.searchForm = new Ext.FormPanel({
...
});

var ds = this.ds = new Ext.data.Store({
...
});
[/code]
酱紫就可以在那个loadData体内访问到this.searchForm跟this.ds了