From 2e1403507f593d6c827f6be6d0cb75c5a1615e62 Mon Sep 17 00:00:00 2001 From: Hufe921 Date: Wed, 1 May 2024 16:21:51 +0800 Subject: [PATCH] fix: copy style after title line break #531 --- .../core/event/handlers/keydown/enter.ts | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/editor/core/event/handlers/keydown/enter.ts b/src/editor/core/event/handlers/keydown/enter.ts index 8780b6e..3f1c162 100644 --- a/src/editor/core/event/handlers/keydown/enter.ts +++ b/src/editor/core/event/handlers/keydown/enter.ts @@ -37,25 +37,26 @@ export function enter(evt: KeyboardEvent, host: CanvasEvent) { if (evt.shiftKey && startElement.listId) { enterText.listWrap = true } - // 标题结尾处回车无需格式化 + // 标题结尾处回车无需格式化及样式复制 if ( !( endElement.titleId && endElement.titleId !== elementList[endIndex + 1]?.titleId ) ) { + // 格式化上下文 formatElementContext(elementList, [enterText], startIndex) - } - // 复制样式属性 - const copyElement = getAnchorElement(elementList, endIndex) - if (copyElement) { - const copyAttr = [...EDITOR_ELEMENT_STYLE_ATTR, ...EDITOR_ROW_ATTR] - copyAttr.forEach(attr => { - const value = copyElement[attr] as never - if (value !== undefined) { - enterText[attr] = value - } - }) + // 复制样式属性 + const copyElement = getAnchorElement(elementList, endIndex) + if (copyElement) { + const copyAttr = [...EDITOR_ELEMENT_STYLE_ATTR, ...EDITOR_ROW_ATTR] + copyAttr.forEach(attr => { + const value = copyElement[attr] as never + if (value !== undefined) { + enterText[attr] = value + } + }) + } } // 控件或文档插入换行元素 const control = draw.getControl()