2

如何在Slate.jsonChange的oronKeyDown方法中获取当前行或当前编辑的节点?

我正在尝试在特定行的属性中添加一个updatedAtcreatedAt参数。data

这是我正在尝试做的概念证明:

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在数据中添加一个属性(如果尚未存在)。这显然不是很好的代码,因为它循环遍历每个节点并且必须为每个节点反序列化不可变数据对象,但它希望能说明我想要做什么。

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

4

1 回答 1

-1

我学到了一些东西:

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

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

于 2018-03-26T13:21:52.473 回答