PlatePlugin
Plate 插件的 API 参考。
Plate 插件是传递给 Plate
plugins 属性的对象。
泛型类型
PlatePlugin
接口使用一个泛型类型:
Attributes
表示插件配置。此类型扩展了 PluginConfig
,包括 key
, options
, api
, 和 transforms
。
示例:
type MyPluginConfig = PluginConfig<
'myPlugin',
{ customOption: boolean },
{ getData: () => string },
{ customTransform: () => void }
>;
const MyPlugin = createPlatePlugin<MyPluginConfig>({
key: 'myPlugin',
// plugin implementation
});
Plugin Properties
Attributes
- 默认值:
100
Plate 用于存储插件的唯一标识符,通过 editor.plugins
键。
插件提供的 API 函数对象。这些函数通过 editor.api[key]
访问。
插件提供的变换函数,用于修改编辑器状态。这些函数通过 editor.tf[key]
访问。
插件作为选项使用的扩展属性。
各种编辑器事件的事件处理程序,包括 onChange
。
定义插件如何将功能注入其他插件或编辑器。
定义插件的节点特定配置。
允许通过键覆盖组件和插件。
定义插件如何解析内容。
定义各种格式的序列化器和反序列化器。
定义编辑器各个部分的渲染函数。
定义插件的键盘快捷键。
用于管理插件选项的存储。
此插件依赖的插件键数组。
启用或禁用插件。由 Plate 用来确定是否应该使用该插件。
递归插件支持,允许在单个插件中包含多个插件。
定义插件注册和执行的顺序。
Plate 用来装饰编辑器范围的属性。
Hook called when the editor is initialized.
Plugin Methods
Attributes
创建一个具有更新选项的新插件实例。
(config: PlatePluginConfig<C['key'], InferOptions<C>, InferApi<C>, InferTransforms<C>> | ((ctx: PlatePluginContext<C>) => PlatePluginConfig<C['key'], InferOptions<C>, InferApi<C>, InferTransforms<C>>)) => PlatePlugin<C>
创建一个具有附加配置的新插件实例。可以接受一个对象或一个函数。
(extendConfig: Partial<PlatePlugin> | ((ctx: PlatePluginContext<AnyPluginConfig>) => Partial<PlatePlugin>)) => PlatePlugin
扩展一个现有的嵌套插件或添加一个新的插件,如果未找到。支持深度嵌套。
(key: string, extendConfig: Partial<PlatePlugin> | ((ctx: PlatePluginContext<AnyPluginConfig>) => Partial<PlatePlugin>)) => PlatePlugin
设置或替换与插件关联的组件。
(component: NodeComponent) => PlatePlugin<C>
扩展插件的 API。
(api: (ctx: PlatePluginContext<AnyPluginConfig>) => any) => PlatePlugin<C>
使用插件特定的方法扩展编辑器的 API。
(api: (ctx: PlatePluginContext<AnyPluginConfig>) => any) => PlatePlugin<C>
使用插件特定的方法扩展插件的变换。
(transforms: (ctx: PlatePluginContext<AnyPluginConfig>) => any) => PlatePlugin<C>
使用插件特定的方法扩展编辑器的变换。
(transforms: (ctx: PlatePluginContext<AnyPluginConfig>) => any) => PlatePlugin<C>
使用选择器扩展插件选项。
(options: (ctx: PlatePluginContext<AnyPluginConfig>) => any) => PlatePlugin<C>
Plugin Context
大多数插件函数将 PlatePluginContext
对象作为其第一个参数。这个对象包括:
Attributes
当前编辑器实例。
当前插件实例。
获取特定选项值的函数。
获取插件所有选项的函数。
设置特定选项值的函数。
设置多个选项的函数。
订阅特定选项值的 React 组件的钩子。
有关 Plate 插件的更多详细信息,请参阅各个指南:Plugin Configuration, Plugin Methods, Plugin Context, Plugin Components, 以及 Plugin Shortcuts.