fix: 解决无法清楚编辑器文本

2.0/email-builder
Jimmy Liow 11 months ago
parent a61f8c438f
commit 24c5a8f04a

@ -10,7 +10,7 @@ const LexicalEditorInput = (props) => {
const [defaultHtml, setDefaultHtml] = useState('');
useEffect(() => {
if (typeof value === 'string' && !isEmpty(value)) {
if (typeof value === 'string') {
setDefaultHtml(value)
}

@ -77,27 +77,31 @@ const editorConfig = {
]
};
function LexicalDefaultValuePlugin({ value = "" }= {}) {
function LexicalDefaultValuePlugin({ value = '' }= {}) {
const [editor] = useLexicalComposerContext();
const updateHTML = (editor, value, clear) => {
const root = $getRoot();
const parser = new DOMParser();
const dom = parser.parseFromString(value, "text/html");
const nodes = $generateNodesFromDOM(editor, dom);
if (clear) {
root.clear();
}
nodes.filter(n => n.__size !== 0).forEach((n) => {
const paragraphNode = $createParagraphNode();
paragraphNode.append(n);
root.append(paragraphNode);
});
if (isEmpty(value)) {
root.clear();
} else {
const parser = new DOMParser();
const dom = parser.parseFromString(value, "text/html");
const nodes = $generateNodesFromDOM(editor, dom);
nodes.filter(n => n.__size !== 0).forEach((n) => {
const paragraphNode = $createParagraphNode();
paragraphNode.append(n);
root.append(paragraphNode);
});
}
};
useEffect(() => {
if (editor && !isEmpty(value)) {
if (editor) {
editor.update(() => {
updateHTML(editor, value, true);
});

@ -91,7 +91,6 @@ export const ConversationItemFormModal = ({ open, onCreate, onCancel, initialVal
const [initialValues, setInitialValues] = useState({});
useEffect(() => {
console.info('_initialValues: %o', _initialValues)
setInitialValues({
..._initialValues,
phone_number: _initialValues?.whatsapp_phone_number || _initialValues?.phone_number || '',

Loading…
Cancel
Save