5

我试图onCopy徒劳地将复制的片段放入钩子中。

我一直在尝试event.clipboardData...

const { clipboardData } = event;
const encoded = clipboardData.getData("application/x-slate-fragment");

但它似乎是空的。我也尝试过使用getEventTransferutils。但它返回{type: 'unknow'}

这是我一直在测试的CodeSandBox 。

4

1 回答 1

1

saltejs我认为获取片段是不可能的,如果你也能在这里看到文档https://docs.slatejs.org/v/v0.47/slate-react/utils#functions他们要求先制作片段,然后将数据复制到它。所以我认为你可以使用 JavaScript,如果它有帮助,只是一个建议。

如果您只想获取复制的文本,请在onCopy函数内尝试纯 javascript

const copied_text = window.getSelection().toString();

如果您想获取复制文本的片段,请使用

event.target.outerHTMLevent.target.innerHTMLonCopy function

如果你想创建另一个复制的片段,你可以做

document.createRange().createContextualFragment(event.target.outerHTML)

于 2020-09-17T19:29:01.280 回答