在 Pages 中使用 TableKit 扩展

Alpha

要在分页编辑器中添加表格,你应该使用来自 @tiptap-pro/extension-pages-tablekit 包的 TableKit 扩展。这能确保与分页功能完全兼容,因为为了在页面间正确拆分表格,我们需要大幅修改表格的行为和布局。


1. 安装 Pages 技术栈

表格、ConvertKit(编辑器的 schema)以及 Pages 本身都作为独立包发布。请安装这三个包:

npm install @tiptap-pro/extension-convert-kit \
            @tiptap-pro/extension-pages-tablekit \
            @tiptap-pro/extension-pages

2. 将 ConvertKit、TableKit 和 Pages 添加到你的编辑器

import { Editor } from '@tiptap/core'
import { ConvertKit } from '@tiptap-pro/extension-convert-kit'
import { TableKit } from '@tiptap-pro/extension-pages-tablekit'
import { Pages } from '@tiptap-pro/extension-pages'

const editor = new Editor({
  extensions: [
    ConvertKit.configure({ table: false }),
    TableKit,
    Pages.configure({
      /* ... */
    }),
  ],
})

为什么要禁用 ConvertKit 的表格

ConvertKit 自带一套表格功能(支持 DOCX,但不适用于分页)。PagesTableKit 的 TableKit 是适用于分页的替代方案,并且接受与 ConvertKit 表格相同的 DOCX 单元格属性。 禁用一个,注册另一个。

最佳实践

在使用 Pages 时,始终使用来自 @tiptap-pro/extension-pages-tablekitTableKit 扩展。不要使用开源的 @tiptap/extension-table 或 ConvertKit 内置的 表格——它们都与 Pages 扩展生成的布局不兼容。

3. 表格功能

  • 暴露的 TableKit 扩展工作方式和行为与开源版本完全相同,也可以扩展以满足你的需求。
  • 表格会正确分页并能随着文档一同导出为 DOCX。

扩展 Pages 的 TableKit 扩展

@tiptap-pro/extension-pages-tablekit 扩展 TableKit 时要小心,因为其布局经过了大幅修改, 你有可能破坏表格拆分逻辑。

4. 下一步