HandsOnTable 中的 afterCommentChange 挂钩
afterCommentChange hook in HandsOnTable
在 HoT hooks tutorial 上,您可以在 HandsOnTable 中看到一份(完整!?)挂钩列表。但是,其中 none 与评论相关。
我想在添加、删除或更新评论后添加自定义回调。
afterChange
和 afterContextMenuExecute
似乎都不会在评论更改后触发,而 beforeRender
似乎触发得太频繁了。
理想情况下,我想使用一个特定的挂钩,它仅在添加、修改或删除评论时触发,让我可以访问旧值和新值以及单元格位置。
在这一点上,我会接受任何有效的方法。尽管我还没有发现任何与之相关的东西,但很难相信以前没有人需要它。一旦找到答案,我就会 post 放在这里。
这是一个基本的 HoT 示例,启用了注释并将特定操作添加到上下文菜单:
var data = function () {
return Handsontable.helper.createSpreadsheetData(100, 10);
};
var container = document.getElementById('example');
var hot = new Handsontable(container, {
data: data(),
minSpareCols: 1,
minSpareRows: 1,
rowHeaders: true,
colHeaders: true,
contextMenu: ['undo','redo','commentsAddEdit','commentsRemove'],
comments: true,
});
body {
margin: 2rem;
font-size: 13px;
font-family: 'Open Sans', Helvetica, Arial;
}
h2 {
margin: 20px 0 0;
font-size: 18px;
font-weight: normal;
}
<link href="https://docs.handsontable.com/pro/1.14.3/bower_components/handsontable-pro/dist/handsontable.full.min.css" rel="stylesheet"/>
<script src="https://docs.handsontable.com/pro/1.14.3/bower_components/handsontable-pro/dist/handsontable.full.min.js"></script>
<h2>Handsontable Basic Example (100x10)</h2>
<div id="example"></div>
显然,afterSetCellMeta 正是我要找的:
let hot = new Handsontable(container, {
// ...,
afterSetCellMeta: (row, col, key, value) => {
if (key === 'comment') {
// comment for cell @ `row`,`col` was changed to `value`
}
}
}
在 HoT hooks tutorial 上,您可以在 HandsOnTable 中看到一份(完整!?)挂钩列表。但是,其中 none 与评论相关。
我想在添加、删除或更新评论后添加自定义回调。
afterChange
和 afterContextMenuExecute
似乎都不会在评论更改后触发,而 beforeRender
似乎触发得太频繁了。
理想情况下,我想使用一个特定的挂钩,它仅在添加、修改或删除评论时触发,让我可以访问旧值和新值以及单元格位置。
在这一点上,我会接受任何有效的方法。尽管我还没有发现任何与之相关的东西,但很难相信以前没有人需要它。一旦找到答案,我就会 post 放在这里。
这是一个基本的 HoT 示例,启用了注释并将特定操作添加到上下文菜单:
var data = function () {
return Handsontable.helper.createSpreadsheetData(100, 10);
};
var container = document.getElementById('example');
var hot = new Handsontable(container, {
data: data(),
minSpareCols: 1,
minSpareRows: 1,
rowHeaders: true,
colHeaders: true,
contextMenu: ['undo','redo','commentsAddEdit','commentsRemove'],
comments: true,
});
body {
margin: 2rem;
font-size: 13px;
font-family: 'Open Sans', Helvetica, Arial;
}
h2 {
margin: 20px 0 0;
font-size: 18px;
font-weight: normal;
}
<link href="https://docs.handsontable.com/pro/1.14.3/bower_components/handsontable-pro/dist/handsontable.full.min.css" rel="stylesheet"/>
<script src="https://docs.handsontable.com/pro/1.14.3/bower_components/handsontable-pro/dist/handsontable.full.min.js"></script>
<h2>Handsontable Basic Example (100x10)</h2>
<div id="example"></div>
显然,afterSetCellMeta 正是我要找的:
let hot = new Handsontable(container, {
// ...,
afterSetCellMeta: (row, col, key, value) => {
if (key === 'comment') {
// comment for cell @ `row`,`col` was changed to `value`
}
}
}