Slate.js 如何查询并更新已存在的节点?
已存在节点更新操作实现
你当前的实现存在两处可调整的问题:
- 变量名拼写错误,定义时写为
paht,后续调用时使用path会触发未定义报错 newProperties字段无需额外嵌套node层,直接传入要更新的节点属性即可
修正后的完整实现代码如下:
const path = [0,1,1,2] const data: any = { type: 'ref', id: uniqid(), data: target, x: 'new data are here.,', children: [{text: 'more new data'}], } editor.apply({ type: 'update_node_at_path', path: path, newProperties: data, });
注意事项
- 如果需要保留原节点的未修改属性,可先调用
editor.node(path)获取原节点数据,和新属性合并后再传入newProperties,避免原有字段被覆盖 - 执行更新操作前需确认
path对应当前编辑器的真实节点路径,节点发生增删后路径会变动,需要重新获取后再执行操作
内容的提问来源于stack exchange,提问作者Ali Husham
相关产品推荐
相关产品推荐

