extjs渲染器未执行

时间:2017-08-08 10:07:01

标签: javascript html extjs renderer

我使用现代工具包和extjs 6.5.1。 我想在网格单元格中使用renderer属性来使用html。渲染器只返回'<a>...</a>',但是当我使用它时,它将对html代码进行编码,以便单元格显示'<a>...</a>'而不是链接。 关于这个帖子的答案,我需要一个带有&#34; encodeHtml&#34;的单元格属性。转为false但是只要我添加一个单元格属性,渲染器就不会再被执行(即使我使用EncodeHtml)并显示数据,就像没有渲染器属性一样。 为什么我不能再使用渲染器属性了?

继承我的代码:

{
    xtype: 'gridcolumn',
    renderer: function(value, record, dataIndex, cell, column) {
        console.log('hello world');
        return '<a>...</a>';
    },
    width: 30,
    text: '...',
    cell: {
        xtype: 'textcell',
        encodeHtml: false
    }
}

What it looks like without encodeHtml

1 个答案:

答案 0 :(得分:0)

此行为是因为您指定了

cell: {
    xtype: 'textcell'
}
首先是

。只需删除它,您的renderer就可以返回HTML。这应该有效:

{
    xtype: 'gridcolumn',
    renderer: function(value, record, dataIndex, cell, column) {
        console.log('hello world');
        return '<a>...</a>';
    },
    width: 30,
    text: '...'
}

我的应用程序中至少有id,我使用renderer返回html来生成特殊格式。

如果您需要指定cell属性,因为您未在代码中显示某些内容,请使用默认的cell xtype代替:gridcell。< / p>