微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Quilljs 中保留自定义 ID 属性

如何解决在 Quilljs 中保留自定义 ID 属性

我们需要为我们在新行上创建的每个 div 保留 ID 属性。 我们尝试将 quill delta 保存在 localstorage 中,当尝试使用 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 );

这是添加自定义属性并将它们保留在 quill 中的正确方法吗?

框架:React 17 反应羽毛笔:1.3.5

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。