如何在粘贴上执行格式化?

问题描述 投票:0回答:1

[我发现了如何从粘贴的内容中strip any existing formatting,但是我没有找到一种对它强制执行格式的优美方法。

我使用当前的技巧:

quill.clipboard.addMatcher (Node.ELEMENT_NODE, (node, delta) => {
    quill.format('header', 1); // <-- hacky sneaky set format in quill
    return new Delta().insert(node.innerText); // <-- returns stripped text
});

尽管这可行,但是在通过粘贴添加文本之前设置格式的适当方法是什么?我怀疑我需要注册一个事件处理程序或挂在某个地方。

quill
1个回答
0
投票

答案比我想象的要简单:

quill.clipboard.addMatcher (Node.ELEMENT_NODE, (node, delta) => {
    // return stripped and reformatted text
    return new Delta().insert(node.innerText).insert('\n', { header: 1 });
});

诀窍是正确使用Delta DSL。起初并没有意识到标头格式如何使用这种奇怪的换行符方法,但是似乎正是Quill的工作原理。

© www.soinside.com 2019 - 2024. All rights reserved.