【发布时间】:2018-01-07 21:33:14
【问题描述】:
我有一个函数可以更新一行中每个单元格的评论。此函数由更高级别的函数多次调用,该函数循环遍历表中的每一行并确定要应用的 cmets。
这一切都很好。请参阅下面代码的简化版本。
// Loop through all hot rows and determine comment to apply
var loopThroughHotRows = function (hot) {
var rows = hot.getSourceData().length;
for (var i = 0; i < rows; i++) {
var comment = "some comment determined by another function";
applyResponseCommentsToRow(hot, comment, i);
}
}
// Apply comments to a whole row in a passed handsontable
var applyCommentsToRow = function (hot, comment, logicalrow) {
var cols = hot.countCols();
var commentsPlugin = hot.getPlugin('comments');
for (var i = 0; i < cols; i++) {
// render being issued for each comment set.
// need to restrict rendering somehow.
commentsPlugin.setCommentAtCell(logicalrow, i, comment);
}
}
问题在于每次将评论应用于单元格时。启动整个handsontable 实例的渲染。导致网络浏览器被阻塞/突突/变得非常缓慢和响应,直到所有渲染完成。
所以我的问题是。每次将新评论应用于单元格时,是否有某种方法可以防止 Handsontable 呈现?是通过暂时禁用所有渲染还是以其他方式添加 cmets?
【问题讨论】: