diff --git a/app/src/protyle/util/insertHTML.ts b/app/src/protyle/util/insertHTML.ts
index 7944a67d3..a3eb9d5ad 100644
--- a/app/src/protyle/util/insertHTML.ts
+++ b/app/src/protyle/util/insertHTML.ts
@@ -21,6 +21,7 @@ import {fetchPost} from "../../util/fetch";
import {isIncludeCell} from "./table";
import {getFieldIdByCellElement} from "../render/av/row";
import {processClonePHElement} from "../render/util";
+import {setFold} from "../../menus/protyle";
const processAV = (range: Range, html: string, protyle: IProtyle, blockElement: HTMLElement) => {
const tempElement = document.createElement("template");
@@ -556,6 +557,17 @@ export const insertHTML = (html: string, protyle: IProtyle, isBlock = false,
if (wbrElement) {
wbrElement.remove();
}
+ let foldData;
+ if (blockElement.getAttribute("data-type") === "NodeHeading" &&
+ blockElement.getAttribute("fold") === "1") {
+ foldData = setFold(protyle, blockElement, true, false, false, true);
+ doOperation.reverse();
+ foldData.doOperations[0].context = {
+ focusId: lastElement?.getAttribute("data-node-id"),
+ };
+ doOperation.push(...foldData.doOperations);
+ undoOperation.push(...foldData.undoOperations);
+ }
transaction(protyle, doOperation, undoOperation);
// 复制容器块中包含折叠标题块
protyle.wysiwyg.element.querySelectorAll("[parent-heading]").forEach(item => {