Handsontable:更新单元格元后重新放置单元格?

时间:2015-09-18 09:10:24

标签: javascript angularjs handsontable

每次更改单元格后,我将单元格内容发送到后端,获取更新的元对象并将其应用于单元格。新的元对象为渲染器保留不同的颜色。我需要在设置元数据后重新启动单元格渲染。我发现事件在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.
  }
}

有人做过吗?任何想法都值得赞赏,因为我没有任何想法。

1 个答案:

答案 0 :(得分:1)

Handsontable并不只是重新渲染单个单元格。任何触发更改的事件都将重新呈现整个表。这样做是为了确保表格是无状态的&#34;并始终反映数据所代表的含义。话虽如此,重新渲染整个表的问题是什么?它应该很快,因为HOT使用虚拟渲染,但你在那里看到问题吗?

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

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