Loading...

功能特性

  • 以文本标记形式添加评论
  • 支持重叠评论
  • 支持撤销/恢复解决和删除操作

安装

pnpm add @platejs/comment

使用方法

import { commentPlugin } from '@/components/editor/plugins/comment-plugin';
import { discussionPlugin } from '@/components/editor/plugins/discussion-plugin';
 
const editor = createPlateEditor({
  plugins: [
    // ...其他插件
    discussionPlugin,
    commentPlugin,
  ],
});

评论插件需与讨论插件配合使用以提供完整的讨论系统。讨论插件负责管理讨论界面和用户交互层。示例中提供了两个插件的完整源码。

快捷键

KeyDescription
Cmd + Shift + M

为选中文本添加评论

示例

Plate UI

参考上方预览组件。

Plate Plus

插件

CommentPlugin

API接口

tf.comment.removeMark

从编辑器中移除评论标记。

tf.comment.setDraft

在当前选区设置草稿评论标记。

tf.comment.unsetMark

从编辑器中移除指定ID的评论节点。

Parameters

  • id string

    要移除的评论节点ID

api.comment.has

检查指定ID的评论是否存在。

Parameters

Collapse all
  • id string

    要检查的评论ID

Returnsboolean

    评论是否存在

api.comment.node

获取评论节点entry。

OptionsEditorNodesOptions & { id?: string; isDraft?: boolean }

    查找节点的配置选项

ReturnsNodeEntry<TCommentText> | undefined

    找到的评论节点entry(如存在)

api.comment.nodeId

从leaf节点获取评论ID。

Parameters

Collapse all
  • leaf TCommentText

    评论leaf节点

Returnsstring | undefined

    找到的评论ID(如存在)

api.comment.nodes

获取所有匹配条件的评论节点entry。

OptionsEditorNodesOptions & { id?: string; isDraft?: boolean }

    查找节点的配置选项

ReturnsNodeEntry<TCommentText>[]

    评论节点entry数组

getCommentCount

获取评论节点中的非草稿评论数量。

Parameters

Collapse all
  • node TCommentText

    评论节点

getCommentKey

根据ID生成评论key。

Parameters

Collapse all
  • id string

    评论ID

getCommentKeyId

从评论key中提取评论ID。

Parameters

Collapse all
  • key string

    评论key

getCommentKeys

返回节点中存在的所有评论key数组。

Parameters

Collapse all
  • node TCommentText

    要检查的节点

getDraftCommentKey

获取草稿评论使用的key。

isCommentKey

检查给定key是否为评论key。

Parameters

Collapse all
  • key string

    要检查的key

Returnsboolean

    是否为评论key

isCommentNodeById

检查给定节点是否为指定ID的评论。

Parameters

Collapse all
  • node TNode

    要检查的节点

  • id string

    评论ID

Returnsboolean

    是否为指定ID的评论节点

类型定义

TCommentText

可包含评论的文本节点接口。

Attributes

Collapse all
  • comment optional boolean

    是否为评论节点

  • comment_<id> optional boolean

    评论ID标识。单个文本节点可包含多个评论。