Block
import { Block } from 'slate'
Slate Document
中的块级节点。Block 节点实现了 Node
接口。
Block 节点可以包含嵌套的 block 节点、inline 节点,以及 text 节点——就像 DOM 一样。它始终包含至少一个 text 节点作为子节点。
Properties
Block({
data: Data,
isVoid: Boolean,
key: String,
nodes: Immutable.List<Node>,
type: String
})
data
Immutable.Map
与节点相关的任意数据。默认为一个空 Map
。
isVoid
Boolean
节点是否为 "void",这意味着其没有子内容(如图片、视频等)。默认为 false
。
注意即便节点为 "void",它仍然会包含一个空的 Text
节点以保证适配其它操作的一致性。不过,在 Slate 渲染时这个 Text
节点是不可见的。
key
String
节点的唯一标识。
nodes
Immutable.List
子节点列表。默认为包含单一文本节点的列表。
type
String
节点的自定义类型(如 blockquote
或 list-item
)。
Computed Properties
kind
String
不可变的 String,值为 'block'
以便于将这类节点与 Inline
和 Text
节点区分开。
text
String
该节点的全部子 Text
节点连接成的字符串。
Static Methods
Block.create
Block.create(properties: Object) => Block
由原生 JS properties
对象创建一个 block。
Block.createList
Block.createList(array: Array) => List
由原生 JS array
数组创建一个 block 列表。
Block.fromJSON
Block.fromJSON(object: Object) => Block
由 JSON object
创建一个 block。
Block.isBlock
Block.isBlock(maybeBlock: Any) => Boolean
返回传入的参数是否为 Block
的 boolean 值。
Node Methods
Block 实现了 Node
接口。对所有 node 方法的相关信息,参见 Node
文档。
Instance Methods
toJSON
toJSON() => Object
返回 block 的 JSON 表示。