gpt4 book ai didi

javascript - Quill 文档中的瞬时格式化?

转载 作者:行者123 更新时间:2023-12-03 04:18:09 24 4
gpt4 key购买 nike

我想在 Quill 文档中实现瞬时突出显示。

例如,假设有一个“搜索”按钮,用户可以通过设置匹配文本范围的文本颜色来突出显示当前文档中关键字的所有实例。

我今天就可以做到这一点,就像这样:

var keyword = "hello";
var text = quill.getText();

var matchIndex = text.indexOf(keyword);
while (matchIndex >= 0) {
quill.formatText(matchIndex, keyword.length, { "color" : "#f00" });
matchIndex = text.indexOf(keyword, matchIndex + keyword.length);
}

但我不希望将由此产生的增量纳入本文档的官方更改历史记录中。这些只是短暂的亮点,我希望能够用这样的东西将它们全部清除......

quill.clearTransientFormats();

我什至想让用户选择启用短暂突出显示,同时他们继续使用自己的破坏性更改来编辑和修改文档。

本质上,我想要两种不同的格式:

  • 破坏性格式始终记录在文档历史记录中保留的增量序列中。
  • 文档历史记录中会忽略临时格式,因为它仅适用于当前 View 。

实现这样的事情的最佳方法是什么?

最佳答案

我建议在保存之前对增量进行后处理。使用 compose 可以很容易地实现这一点。 :

var length = aboutToBeStored.length();
var toStore = aboutToBeStored.compose(new Delta().retain(0, length, { color: null }));

关于javascript - Quill 文档中的瞬时格式化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44058439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com