Skip to content
开发文档
能力中心
应用市场
WebOffice
开发者后台

监听插入评论

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

参数

参数名是否必需类型描述
Callbackfunc指定事件发生时的回调方法 ; 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();
}
回到旧版