私は選択されたテキストについて注釈を付けることが可能であることをWYSIWYGエディタにしようとしています。slatejsでカスタマイズしたキーを生成する方法は?
まず、Draft.jsを使用しました。しかし、Draft.jsのエンティティキーは選択項目が複製されたときに開始されたので、キーを使用して注釈付きテキストをポイントするのには適していませんでした。
私はslatejsを見つけましたが、他のライブラリも検索していました。
slatejsには、「setKeyGenerator」ユーティリティがありました。しかし、私はslatejsの 'setKeyGenerator'に関する情報を見つけることができませんでした。このユーティリティは以下のような関数を設定するだけです。
function setKeyGenerator(func) {
generate = func;
}
この関数を使用してキーを生成する方法はわかりませんでした。
誰かがこの関数の使い方を知っているか、注釈の選択テキストを知っていますか?あなたは、インサートブロックに一意のキーを設定することができます
// A key to reference to block by (you should make it more unique than `Math.random()`)
var uniqueKey = Math.random();
// Insert a block with a unique key
var newState = this.state
.transform()
.insertBlock({
type: 'some-block-type',
data: {
uniqueKey: uniqueKey
},
})
.apply();
// Get the block's unique Slate key (used internally)
var blockKey;
var { document } = self.state;
document.nodes.some(function(node) {
if (node.data.get('uniqueKey') == uniqueKey) {
blockKey = node.key;
}
});
// Update data on the block, using it's key to find it.
newState = newState
.transform()
.setNodeByKey(blockKey, {
data: {
// Define any data parameters you want attached to the block.
someNewKey: 'some new value!'
},
})
.apply();
、および:
https://www.npmjs.com/package/uuidから「uuidV4」のようなものを渡すことができました – lux
ありがとうございますが、私はいくつかの鍵ジェネレータを見つけられませんでした。 – OH3VCI