首页 > 文章列表 > SlateJS中如何通过API而非光标选中来为文本范围添加标记?

SlateJS中如何通过API而非光标选中来为文本范围添加标记?

234 2025-03-31

SlateJS中如何通过API而非光标选中来为文本范围添加标记?

利用SlateJS API在指定文本范围内添加标记

如何在SlateJS编辑器中,使用API而非手动选择文本的方式,为特定文本范围添加自定义标记?

直接使用SlateJS的addMark API无法实现此功能。 正确的做法是利用Transforms.setNodes API。 示例如下:

Transforms.setNodes(editor, { bold: true }, { from: 2, to: 4 });

代码中,fromto参数指定了目标文本范围的起始和结束索引(索引从0开始)。 bold: true则将bold标记应用于该范围内的节点。

Transforms.setNodes API允许直接操作数据模型,无需光标参与,从而实现通过程序控制为指定文本范围添加标记的功能。 这在需要通过快捷键或其他自动化方式应用标记的场景中非常实用。

来源:1740332566