🚀 BlockNote AI is here! Access the early preview.
BlockNote Docs/Getting Started/Getting Started/使用 ShadCN

开始使用 ShadCN

shadcn/ui 是一个基于 Radix 和 Tailwind 的开源 React 组件集合。

npm install @blocknote/core @blocknote/react @blocknote/shadcn

要在 shadcn 中使用 BlockNote,可以从 @blocknote/shadcn 中导入 BlockNoteView,并从 @blocknote/shadcn/style.css 导入样式表。

ShadCN 自定义

BlockNote 自带默认的 shadcn 组件,但你很可能已经复制并可能在项目中自定义了自己的 shadcn 组件。
为了让 BlockNote 使用你项目中的 ShadCN 组件,而非默认组件,可以通过 BlockNoteViewshadCNComponents 属性传入:

import * as Button from "@/components/ui/button"
import * as Select from "@/components/ui/select"

return (
  <BlockNoteView editor={editor} shadCNComponents={{
    Select,
    Button,
    ...
  }} />
);

你可以从以下 ShadCN 模块传入组件:

  • Badge
  • Button
  • Card
  • DropdownMenu
  • Form
  • Input
  • Label
  • Popover
  • Select
  • Tabs
  • Toggle
  • Tooltip

为了确保兼容性,你的 ShadCN 组件不应使用 Portals (请在你的 DropdownMenu、Popover 和 Select 组件中注释掉相关代码)。