# Placeholder · 占位提示

为符合条件的空节点附加占位装饰与数据属性，不把提示写入文档。DOM 宿主还需提供对应 CSS；其他视图需有相应装饰呈现。

为符合条件的空节点附加占位装饰与数据属性，不把提示写入文档。DOM 宿主还需提供对应 CSS；其他视图需有相应装饰呈现。

`@quirekit/extensions` · **MIT**

## 编辑器适用范围
层次：**共享文档能力**
| 编辑器 | 状态 | 所需装配与边界 |
| --- | --- | --- |
| Classic | 未验证 | 尚未建立此入口的完整产品接入与验证路径。公开 Core 导出不代表当前产品已提供对应呈现、控件或文件支持。 |
| Block | 未验证 | 尚未建立此入口的完整产品接入与验证路径。公开 Core 导出不代表当前产品已提供对应呈现、控件或文件支持。 |

“直接支持”指已有上述产品装配；具体交互、宿主服务和格式支持仍有各自条件。[状态与接入规则](/plugins/compatibility)。许可独立显示。

## 接入

```sh
pnpm add @quirekit/extensions@alpha
```

在创建 Editor 时放入 `extensions`。挂载容器、视图和保存由宿主提供，见[快速开始](/guide/quick-start)。

```ts
import { Placeholder } from '@quirekit/extensions'

const hint = Placeholder.configure({ placeholder: '开始写作…' })
```

安装时按包声明选择兼容版本，外部可用版本以分发源为准。本站使用工作区 Alpha；许可标签来自入口所属包，使用条件见[支持与许可](/support)。

## 按编辑器接入

以下片段沿用已挂载的宿主元素 `element`，宿主负责容器尺寸与保存；退出页面时调用 `instance.destroy()`。已有预设装配的能力不要再重复追加；需要宿主端口的入口应先完成下方配置。

### Classic

尚未建立此入口的完整产品接入与验证路径。公开 Core 导出不代表当前产品已提供对应呈现、控件或文件支持。

### Block

尚未建立此入口的完整产品接入与验证路径。公开 Core 导出不代表当前产品已提供对应呈现、控件或文件支持。

## 配置

下面是扩展自身的默认选项。预设可以覆盖这些值；它们不等于当前文档属性。配置方法见[配置插件](/plugins/configuration)。

### emptyEditorClass

空编辑器匹配节点附加的 CSS 类。

类型：`string`

默认：`"is-editor-empty"`

### emptyNodeClass

空节点附加的 CSS 类。DOM 宿主需提供对应样式。

类型：`string`

默认：`"is-empty"`

### dataAttribute

保存占位文本的数据属性名称。

类型：`string`

默认：`"placeholder"`

### placeholder

占位文字或按节点返回文字的函数。提示仅用于展示，不进入规范文档。

类型：`string | ((props: PlaceholderProps) => string)`

默认：`"Write something …"`

### showOnlyWhenEditable

只在编辑器可编辑时显示占位提示。

类型：`boolean`

默认：`true`

### showOnlyCurrent

只装饰当前光标所在的空节点。

类型：`boolean`

默认：`true`

### includeChildren

是否继续查找嵌套子节点中的空节点。

类型：`boolean`

默认：`false`

## 命令与运行方式

此入口没有直接声明可枚举的命令。组合扩展的命令由子扩展提供；产品插件通过 contribution 或文件服务工作。不能把安装入口名称当作命令调用。

## 下一步

返回[全部插件](/plugins)，或阅读[配置插件](/plugins/configuration)区分配置、文档属性与命令。

自己定义能力时见[扩展开发](/build/extension)；搭建完整宿主时见[构建产品](/build)。
