新しい行で作成するすべての div の ID 属性を永続化する必要があります。クイル デルタを localstorage に保存しようとしましたが、setContents() を使用して設定しようとすると、ID が変更されます。新しいデルタまたはテキストを挿入しようとすると、新しいランダム 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 反応クイル: 1.3.5