如何获得slate.js中的当前变化

时间:2018-03-25 22:23:32

标签: slate.js

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

我正在尝试在特定行的createdAt属性中添加dataonChange = ({ 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

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

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

2 个答案:

答案 0 :(得分:0)

我学到的一些东西:

  • anchorkey为您提供选择的当前键
  • Value有一个有用的快捷方式startKey

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

我不确定Slatejs是否提供了按键抓取节点的方法;如果是这样我就找不到了,但上面就把我带到了我想要的地方。

答案 1 :(得分:0)

您可以通过以下方式获取选定的区块:

console.log($($html).find('ul').text());

Slate docs