Javascript 无法基于动态行数据渲染图标

Javascript 无法基于动态行数据渲染图标,javascript,sencha-touch,sencha-touch-2,Javascript,Sencha Touch,Sencha Touch 2,我试图在sencha touch grid中根据行的动态数据显示图标 这是我在一列中的代码。但每当我运行应用程序时,我都会在一列中看到标签,而不是实际的图像 从源代码中可以看到,渲染器返回的值被放入元素的nodeValue中: metaData.tdCls = "status-update" // where status-update is a class metaData.css = "status-update" 因此,它被视为文本。发生这种情况是因为网格的列定义中使用了错误类型的列

我试图在sencha touch grid中根据行的动态数据显示图标

这是我在一列中的代码。但每当我运行应用程序时,我都会在一列中看到标签,而不是实际的图像

从源代码中可以看到,渲染器返回的值被放入元素的nodeValue中:

metaData.tdCls = "status-update" // where status-update is a class 

metaData.css = "status-update"

因此,它被视为文本。发生这种情况是因为网格的列定义中使用了错误类型的列。改用Ext.grid.column.Template,它将您的值应用于XTemplate,并将其放入单元格的innerHtml中,应该可以工作。

您可以使用console.log或使用开发人员工具检查单元格来检查渲染器实际返回的内容吗?我已经使用开发人员工具对其进行了检查,它仅以黑色字体显示,就像它只是一个核心文本值而不是html标记然后需要检查包装的内容,它可能在另一个属性中,或者你以前有一些格式不好的html?它只在row div中,这里没有格式不好的html。我注意到的内容是,如果我将行从开发人员工具复制到文本编辑器,它将替换grater,然后sign,然后sign by,我应该将代码放在哪里,我还需要保留rendere函数吗必须更改Ext.grid.column.column组件的updateCell,用innerHtml替换nodeValue,您可以直接修改Sencha Touch core的源代码,也可以扩展Ext.grid.grid以使用Ext.grid.column.column的扩展版本。是的,为了这么小的更改而覆盖两个文件是不好的:我进一步研究了Ext.grid.grid代码,发现解决方案已经在Sencha中可用,不需要覆盖。
metaData.tdCls = "status-update" // where status-update is a class 

metaData.css = "status-update"
updateCell: function(cell, record, content) {
    if (cell && (record || content)) {
        cell.firstChild.nodeValue = content || this.getCellContent(record);
    }
}