# 操作(Operations)
操作是在当调用命令和转换时候执行的细粒度 (granular
) 低级操作。单个命令可能导致许多更低级的操作被应用到编辑器。
和命令不同的地方是,操作是不可扩展的。Slate
核心定义了所有在富文本文档上可能用到的操作。比如说:
editor.apply({
type: 'insert_text',
path: [0, 0],
offset: 15,
text: 'A new string of text to be inserted.',
})
editor.apply({
type: 'remove_node',
path: [0, 0],
node: {
text: 'A line of text!',
},
})
editor.apply({
type: 'set_selection',
properties: {
anchor: { path: [0, 0], offset: 0 },
},
newProperties: {
anchor: { path: [0, 0], offset: 15 },
},
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Slate
会自动将复杂的命令转换为低级操作,然后把它们应用到文档上,所以你基本上不用考虑它们。
🤖
Slate
的编辑行为被定义为操作 (operations
),这使得协同编辑成为可能,因为每个变化都是更容易被定义、应用、组合的,以及更容易实现撤销事件的!
← 变换(Transforms) 编辑器 →