Handsontable:更新单元格的元后重新渲染单元格?

Handsontable: Rerender a cell after updating the cell's meta?

每次更改单元格后,我都会将单元格的内容发送到后端,获取更新的元对象并将其应用于单元格。新的元对象为渲染器保留不同的颜色。设置元数据后,我需要重新触发单元格渲染。我在 SetCellMeta() 之后找到了事件,但找不到仅重新呈现单个单元格的方法。仅供参考,这是我正在使用的功能:

function updateCell(data) {
  var i = 0;
  var to = data.length;

  for (i; i<to; i++) { // Go trough all changed cells, update their meta object.
    var row = data[i].row;
    var col = data[i].col;
    var metaObject = data[i];
    console.log('About to set: ', metaObject);
    vm.hot.setCellMetaObject(row, col, metaObject);
    // I need to update the renderer here.
  }
}

有人这样做过吗?任何想法都会受到赞赏,因为我没有任何想法。

Handsontable 不只是重新渲染单个单元格。任何触发更改的事件都将重新呈现整个 table。这样做是为了确保 table 是 "state-less" 并始终反映数据所代表的内容。话虽如此,重新渲染整个 table 有什么问题?它应该很快,因为 HOT 使用虚拟渲染,但您看到那里有问题吗?

如果您的意思是要更新渲染器,那么您可以在更新渲染器的评论中插入:

hot.updateSettings({
    cells: newCellsDefinition // here you would define a new renderer for whatever cells you want to change the renderer for
});