我不明白为什么我不能使用' myRendInside '函数来渲染网格列。我必须使用 myRendGlobal 或者我也可以使用renderer: function(val) {blah blah'
。 'this.myRendInside'无法解决。
function myRendGlobal (val, metaData, record, rowIndex, colIndex, store) {
return val + 'abc'
};
Ext.define('AM.view.Event.Grid', {
extend: 'Ext.grid.Panel',
myRendInside: function (val, metaData, record, rowIndex, colIndex, store) {
return val + 'xyz'
},
columns: [{
dataIndex: 'name', renderer : this.myRendInside
},
{
dataIndex: 'phone', renderer : myRendGlobal
},
.
.
.
答案 0 :(得分:6)
您可以通过在构造函数或initComponent方法中定义列来解决此问题。在组件生命周期中此点之前,您要指定为渲染器的方法不可用。
initComponent(){
this.columns: [{
dataIndex: 'name', renderer : this.myRendInside
}
...
]
this.callParent(arguments);
}