extjs treepanel渲染器

时间:2016-02-15 09:18:35

标签: extjs extjs5

我想稍微修改默认的树面板渲染器。所以在第一步中,我尝试只调用默认的树面板渲染器。不幸的是,这不起作用。

这是我的代码:

Ext.define('FMSGui.view.FMSFeatureTypeTreePanelColumn',
{
  extend:   'Ext.tree.Column',
  dataIndex: 'name',
  flex:1,
  renderer: function(v1)
  {
      return this.callParent(v1);
  }
}
);

TreePanel的代码如下所示:

Ext.define('FMSGui.view.FMSFeatureTypeTreePanel', {
    extend: 'Ext.tree.Panel',
    title: 'Feature Types',
    width: 200,
    height: 150,
    store: null,
    displayColumn:null,
    constructor: function(config)
    {
        this.displayColumn=Ext.create("FMSGui.view.FMSFeatureTypeTreePanelColumn");
        this.columns=[this.displayColumn];
        this.store=Ext.create("FMSGui.store.FMSFeatureTypeTreeStore");
        this.store.load();
        this.superclass.constructor.call(this,config);
    },
    rootVisible: true,
    lines: true, 
    useArrows: true 
    });

我总是收到错误消息:

XTemplate评估异常:this.callParent不是函数

顺便说一下,如果我删除了渲染器部分。

知道这里出了什么问题吗? 感谢您的任何评论。

1 个答案:

答案 0 :(得分:0)

这是一个范围问题。在renderer中,this不会引用FMSGui.view.FMSFeatureTypeTreePanelColumn(实际引用窗口),因此没有callParent属性。

尝试阅读这些文章:Closuresthis keyword

如果您使用return this.callParent(v1);描述您想要实现的目标,请尝试使用某些代码/小提琴来帮助您。