2026-04-18-17-27-51 - 修复TemplateManage静态占位符插入、重构默认模板排版、修复Logo删除按钮交互

This commit is contained in:
Administrator
2026-04-18 17:33:07 +08:00
parent 67fb2c9080
commit e1dc961ecf
5 changed files with 340 additions and 55 deletions

View File

@@ -1266,7 +1266,29 @@ export default function TemplateManage() {
const text = showShortText ? '插图' : hintText;
html = `<span id="${id}" class="image-placeholder" data-placeholder="true" contenteditable="false"${modeAttr} style="${styleStr}"><span class="delete-btn" contenteditable="false">×</span><span class="placeholder-text" style="color:#94a3b8;font-size:11px;pointer-events:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">${text}</span></span>&#8203;`;
}
execCmd('insertHTML', html);
const wrapper = document.createElement('div');
wrapper.innerHTML = html;
const fragment = document.createDocumentFragment();
while (wrapper.firstChild) {
fragment.appendChild(wrapper.firstChild);
}
const sel2 = window.getSelection();
if (sel2 && sel2.rangeCount > 0) {
const range = sel2.getRangeAt(0);
range.deleteContents();
range.insertNode(fragment);
const lastNode = fragment.lastChild;
if (lastNode) {
range.setStartAfter(lastNode);
range.collapse(true);
sel2.removeAllRanges();
sel2.addRange(range);
}
} else if (editorRef.current) {
editorRef.current.appendChild(fragment);
}
editorRef.current?.focus();
saveTemplateContent();
setPlaceholderModal({...placeholderModal, isOpen: false});
}} className="px-4 py-2 bg-accent text-white rounded text-sm"></button>
</div>