首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在slate.js中获取当前行的变化

如何在slate.js中获取当前行的变化
EN

Stack Overflow用户
提问于 2018-03-25 22:23:31
回答 1查看 3.4K关注 0票数 2

如何在onChangeonKeyDown方法( Slate.js )中获取当前行或当前编辑的节点

我试图在特定行的updatedAt属性中添加一个datacreatedAt参数。

以下是我想要做的事情的概念证明:

代码语言:javascript
复制
onChange = ({ value }) => {
  return value.document.nodes.reduce((change, node) => {
    return change.setNodeByKey(node.get("key"), {
      data: {
        createdAt: new Date(),
        ...node.get("data").toJS(),
      },
    });
  }, value.change()).value;
}

它循环遍历每个节点,并在数据中添加一个createdAt属性(如果一个属性尚未出现)。这显然不是很好的代码,因为它遍历每个节点,并且必须取消每个节点的不可变数据对象的序列化,但它希望说明我希望做的事情。

如何仅为当前节点设置数据属性?

EN

回答 1

Stack Overflow用户

发布于 2018-03-26 13:21:52

我学到了一些东西:

  • anchorkey将获取所选内容的当前键。
  • Value有一个有用的快捷方式,startKey

然后,使用当前选定的键,您可以遍历文档上的节点以获得当前节点。

我不确定Slatejs是否提供了一种按键抓取节点的方法;如果是的话,我就找不到它,但上面的内容让我找到了我想要的地方。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49481610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档