extjs 渲染器范围

Posted

技术标签:

【中文标题】extjs 渲染器范围【英文标题】:extjs scope of renderer 【发布时间】:2011-02-28 21:51:11 【问题描述】:

在一个tabpanel里面,有一个像这样的对象:

tabpanel.counter = 3;

在tabpanel里面,有一个tab t。在 t 内部,有一个网格面板。网格面板中的一列需要使用渲染器。在渲染器函数中,记录、存储、单元格、行、列等可用。

但是在渲染器函数中,有没有办法访问在 tabpanel 范围内定义的计数器对象?渲染器函数默认运行的范围是什么? ColumnModel 还是 GridPanel?

【问题讨论】:

【参考方案1】:

渲染器函数的默认作用域是调用渲染器函数的列。 但是您可以通过指定渲染器函数及其执行范围(this reference)来指定渲染器函数的作用域,例如:

renderer: 
    fn: this.gridRenderer,
    scope: this //change this to change scope (this reference), i.e scope: tabpanel

这个答案取自 extjs API docs for Ext.grid.Column 渲染器函数http://extjs/docs/index.html?class=Ext.grid.Column

【讨论】:

以上是关于extjs 渲染器范围的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ExtJS 中按列类型设置默认列渲染器?

ExtJS 使用渲染器获取新旧值

EXTJS 6网格列渲染器功能 - 您在哪里定义它?

ExtJs Grid通过渲染器中的ajax填充列

ExtJs 4.1 TreeGrid 树列自定义渲染器

来自 json 的 ExtJS GridPanel colModel 渲染器