FAQ

这是一些关于 Slate 的常见问题:

为什么粘贴的内容转换成了纯文本?

和其它编辑器不同,Slate 的核心原则之一是它 对编辑内容预设一个特殊的 "schema"。这意味着 Slate 的核心对【块级引用】和【加粗格式】是不了解的。

在多数情形下,这都能提高灵活性且没有太多问题,不过在一些特殊场景下你也需要投入一些额外的工作,而粘贴就是这些场景之一。

由于 Slate 对你的 schema 没有任何了解,因而它是不知道如何解析粘贴入的 HTML(或其它内容)的。所以,默认情况下不论用户向 Slate 编辑器中粘贴入了什么内容,它都会将其解析为纯文本。如果你希望对粘贴内容有更智能的控制,你需要定义一个 onPaste 回调以按照你的预期来解析内容。

Block 节点能有什么样的子节点?

在 Slate 中,你可以使用 Block 节点来构建复杂的结构。Block 节点可以包含嵌套的 block 节点(既可以为空,也可以为非空)、inline 节点、文本节点和普通的 DOM 内容(要求 contentEditable = {false})。

如果需要处理一个不需可编辑的元素,你可以选择使用 void 节点或 contentEditable = {false} 的 DOM 元素。如果你需要在 Slate schema 中表达这个内容,并让 Slate 处理它,那么这里倾向于使用前者。

Slate 支持什么浏览器和设备?

Slate 的目标是支持包括桌面和移动设备在内的所有现代浏览器。

不过,现在 Slate 还处于 beta 状态,因此支持程度还没有达到预期。目前,它在最新的几个桌面版 Chrome、Firefox 和 Safari 版本中测试过。它还没有在 Internet Explorer、Edge 和移动设备上测试。如果你想支持更多的浏览器或设备,我们非常欢迎你提出 pull request!

results matching ""

    No results matching ""