价值评估后,ag-grid cellRenderer渲染单元失败

时间:2018-07-12 10:56:53

标签: angular ag-grid

我有一个内联的cellRenderer可以如下修改单元格值:

cellRenderer: function (params) {
  if(params.value) {
    return params.value * 100;
  }
  return '';
}

我在调试视图中观察到它正在正确计算值。请找到屏幕截图 enter image description here

但是,当控件移出cellRenderer时,它将引发以下异常:

ERROR TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
at CellComp.push../node_modules/ag-grid/dist/lib/rendering/cellComp.js.CellComp.afterCellRendererCreated (cellComp.js:582)
at Promise.push../node_modules/ag-grid/dist/lib/utils.js.Promise.then (utils.js:1543)
at CellComp.push../node_modules/ag-grid/dist/lib/rendering/cellComp.js.CellComp.createCellRendererInstance (cellComp.js:564)
at CellComp.push../node_modules/ag-grid/dist/lib/rendering/cellComp.js.CellComp.attachCellRenderer (cellComp.js:589)
at CellComp.push../node_modules/ag-grid/dist/lib/rendering/cellComp.js.CellComp.afterAttached (cellComp.js:100)
at rowComp.js:938
at Array.forEach (<anonymous>)
at RowComp.push../node_modules/ag-grid/dist/lib/rendering/rowComp.js.RowComp.callAfterRowAttachedOnCells (rowComp.js:936)
at RowComp.push../node_modules/ag-grid/dist/lib/rendering/rowComp.js.RowComp.insertCellsIntoContainer (rowComp.js:554)
at RowComp.push../node_modules/ag-grid/dist/lib/rendering/rowComp.js.RowComp.refreshCellsInAnimationFrame (rowComp.js:460)

我还有许多其他的cellRenderer都可以正常工作。不知道这是什么错。例如以下一项工作正常:

cellRenderer: function (params) {
  return params.context.formatDate(params.data.createdDateTime);
}

我正在使用"ag-grid-enterprise": "^16.0.0",和角度6。

1 个答案:

答案 0 :(得分:0)

按照@Sh。 Pavel的评论,在将其更新为return ''+ params.value * 100后有效。

这里要了解的重要一点是,cellRenderer期望string作为回报,以便将其直接附加到DOM。

由于您返回的是一个number,所以没有生成正确的Node(我想)。可以通过执行return '' + params.value * 100;来解决。