监听插入评论
RecordComments.OnCreate(方法)
说明
为 RecordComments 添加 OnCreate 事件,当创建 评论 时触发。注意在脚本编辑器中使用时,脚本运行结束就会退出运行,这时可能回调无法被正常触发 这个方法只能监听视图的事件, 如果在浏览器环境需要全局监听也可以使用
javascript
jssdk.on("OnBroadcast", async (res) => {
const data = res.Data
if (data.type == "DB_COMMENT_UPDATE") { // 收到文档评论更新消息
if (data.shouldNotLocalUpdate) {
// 本地更新评论信息
console.log("收到广播消息:", data)
const info = data.info
const {sheetStId, commentId, recordId, action} = info
if (action == "Add") {
// 新增评论
const addText = await jssdk.Application.Sheets.ItemById(sheetStId).ActiveView.RecordComments(recordId).Item(commentId).Text
console.log("新增评论:", addText)
} else if (action == "Delete") {
// 删除评论
console.log("删除评论:", info)
}
}
}
})
可以通过 action 来判断是哪个事件触发的
语法
表达式.OnDelete(Callback)
表达式: RecordComments
参数
参数名 | 是否必需 | 类型 | 描述 |
---|---|---|---|
Callback | 是 | func | 指定事件发生时的回调方法 ; const eventContext = await RecordComments.OnCreate(()=>{ ... }) |
返回值
EventContext
事件返回数据
DbComment
浏览器环境示例
javascript
async function example() {
await instance.ready();
const app = instance.Application;
let eventContext;
eventContext = await app.ActiveView.RecordComments.OnCreate(async (data)=> {
const info = data.info
const {sheetStId, commentId, recordId, action} = info
if (action == "Add") {
// 新增评论
const addText = await app.Sheets.ItemById(sheetStId).ActiveView.RecordComments(recordId).Item(commentId).Text
console.log("新增评论:", addText)
} else if (action == "Delete") {
// 删除评论
console.log("删除评论:", info)
}
})
// 移除监听
// eventContext.Destroy();
}