gpt4 book ai didi

reactjs - DraftJS Modifier.insertText() : Insert Unicode

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

我有表情符号列表。他们每个人都有自己的unicode。使用 Modifier.insertText(),我想将它们插入到文本中。

_addEmoji(text) {
const { editorState } = this.state;
const selection = editorState.getSelection();
const contentState = editorState.getCurrentContent();
const txt = '&#x' + text + ';';
let nextEditorState = EditorState.createEmpty();
if (selection.isCollapsed()) {
const nextContentState = Modifier.insertText(contentState, selection, txt);
nextEditorState = EditorState.push(
editorState,
nextContentState,
'insert-characters'
);
} else {
const nextContentState = Modifier.replaceText(contentState, selection, text);
nextEditorState = EditorState.push(
editorState,
nextContentState,
'insert-characters'
);
}
this.onChange(nextEditorState);
}

我希望看到 😄 插入到编辑器中,但它显示行 😄反而。

我已插入<meta charset="utf-8" /><head />并且表情符号列表完美呈现。主要问题是 Draftjs 编辑器显示原始 unicode 而不是表情符号。

有什么想法可以解决这个问题吗?谢谢。

最佳答案

因为 insertText 会将您的 & 解析为 HTML 编码的 &

您应该直接在此处键入字符,或使用String.fromCharCode

例如:

Modifier.insertText(contentState, selection, 😄);

Modifier.insertText(contentState, selection, String.fromCharCode(0xd83d, 0xde04));

原因

'😄'.charCodeAt(0).toString(16); //d83d
'😄'.charCodeAt(1).toString(16); //de04

关于reactjs - DraftJS Modifier.insertText() : Insert Unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40168161/

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