Column
Create column and the border will hidden when viewing
left 1
left 2
right 1
right 2
1
100%
Files
'use client';
import * as React from 'react';
import { Plate, usePlateEditor } from 'platejs/react';
import { EditorKit } from '@/components/editor/editor-kit';
import { Editor, EditorContainer } from '@/components/ui/editor';
import { DEMO_VALUES } from './values/demo-values';
export default function Demo({ id }: { id: string }) {
const editor = usePlateEditor({
plugins: EditorKit,
value: DEMO_VALUES[id],
});
return (
<Plate editor={editor}>
<EditorContainer variant="demo">
<Editor />
</EditorContainer>
</Plate>
);
}
Column layout.
column-demo


功能特性
- 在文档中添加分栏布局
- 通过
column-group-node工具栏选择多种分栏样式 - 可调整栏宽
套件使用
安装
最快捷的方式是使用 ColumnKit,它包含预配置的 ColumnPlugin 和 ColumnItemPlugin 以及 Plate UI 组件。
'use client';
import { ColumnItemPlugin, ColumnPlugin } from '@platejs/layout/react';
import { ColumnElement, ColumnGroupElement } from '@/components/ui/column-node';
export const ColumnKit = [
ColumnPlugin.withComponent(ColumnGroupElement),
ColumnItemPlugin.withComponent(ColumnElement),
];
ColumnGroupElement: 渲染分栏组容器ColumnElement: 渲染单个分栏项
添加套件
将套件加入插件列表:
import { createPlateEditor } from 'platejs/react';
import { ColumnKit } from '@/components/editor/plugins/column-kit';
const editor = createPlateEditor({
plugins: [
// ...其他插件,
...ColumnKit,
],
});手动配置
安装
pnpm add @platejs/layout
添加插件
在创建编辑器时将分栏插件加入 Plate 插件数组。
import { ColumnPlugin, ColumnItemPlugin } from '@platejs/layout/react';
import { createPlateEditor } from 'platejs/react';
const editor = createPlateEditor({
plugins: [
// ...其他插件,
ColumnPlugin,
ColumnItemPlugin,
],
});配置插件
通过自定义组件配置插件来渲染分栏布局。
import { ColumnPlugin, ColumnItemPlugin } from '@platejs/layout/react';
import { createPlateEditor } from 'platejs/react';
import { ColumnGroupElement, ColumnElement } from '@/components/ui/column-node';
const editor = createPlateEditor({
plugins: [
// ...其他插件,
ColumnPlugin.withComponent(ColumnGroupElement),
ColumnItemPlugin.withComponent(ColumnElement),
],
});withComponent: 指定ColumnGroupElement渲染分栏组容器,ColumnElement渲染单个分栏。
转换为工具栏按钮
可将此功能添加至 转换为工具栏按钮 来将区块转为分栏布局:
{
icon: <Columns3Icon />,
label: '3栏布局',
value: 'action_three_columns',
}插件
ColumnPlugin
为文档添加分栏功能。
ColumnItemPlugin
为文档添加分栏项功能。
类型定义
TColumnGroupElement
继承自 TElement。
TColumnElement
继承自 TElement。
转换方法
insertColumnGroup
插入包含两个空栏的分栏组。
insertColumn
插入一个空栏。
moveMiddleColumn
将中间栏向左或向右移动。
toggleColumnGroup
将区块转换为分栏组布局或更新现有分栏组的布局。
setColumns
更新现有分栏组的布局。