javascript - 在 Quilljs 中保留自定义 ID 属性
问题描述
我们需要为我们在新行上创建的每个 div 保留 ID 属性。我们尝试将 quill delta 保存在本地存储中,当尝试使用 setContents() 进行设置时,ID 会发生变化。当我们尝试插入新的 Delta 或文本时,它会创建新的随机 ID。
import Quill from 'quill';
import {v4 as UUID4} from 'uuid';
const Parchment = Quill.import('parchment');
const IDAttribute = new Parchment.Attributor.Attribute('id-attribute', 'id', {
scope: Parchment.Scope.BLOCK,
});
Quill.register(
{
'attributors/attribute/id': IDAttribute,
},
true
);
Quill.register(
{
'formats/id': IDAttribute,
},
true
);
const Block = Quill.import('blots/block');
const Delta = Quill.import('delta');
Block.tagName = 'p';
Quill.register(Block, true);
class BlockBlot extends Block {
constructor(domNode) {
super(domNode);
domNode.setAttribute('id', UUID4());
console.log(Delta(BlockBlot))
this.cache = {};
}
}
BlockBlot.blotName = 'block';
export default BlockBlot;
import Block from "./QuillHelpers/test"
Quill.register('formats/block', Block );
这是添加自定义属性并将它们保留在羽毛笔中的正确方法吗?
框架:React 17 react-quill:1.3.5
解决方案
推荐阅读
- javascript - 无法使用我的 React Native 应用程序注册 - 我的 API 有问题(也许?)
- javascript - 在图像上添加文本
- java - 标准偏差计算 - 我是否遵循正确的方法?我们如何找到 SD 百分比?
- java - 如何创建一个循环将数组中的数据推送到 2 个堆栈但在 7 次迭代后停止?
- php - 管理面板中订单和订单状态表之间的关系
- c# - 使用开源代码 LiveCharts 获取以编程方式创建的散点图,但我无法获取图
- java - 如何以线程安全的方式在 JAX-RS 资源中使用 JerseyClient
- html - NVDA 将包含按钮的 div 视为按钮
- python - 有没有办法在不同模块之间传递 Python 中的 Class 对象并保留命名空间?
- url - Puppeteer page.goto 错误仅与 readFileSync