我使用现代工具包和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
}
}
答案 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>