fix: copy style after title line break #531

pr675
Hufe921 2 years ago
parent 5a5fd64176
commit 2e1403507f

@ -37,25 +37,26 @@ export function enter(evt: KeyboardEvent, host: CanvasEvent) {
if (evt.shiftKey && startElement.listId) { if (evt.shiftKey && startElement.listId) {
enterText.listWrap = true enterText.listWrap = true
} }
// 标题结尾处回车无需格式化 // 标题结尾处回车无需格式化及样式复制
if ( if (
!( !(
endElement.titleId && endElement.titleId &&
endElement.titleId !== elementList[endIndex + 1]?.titleId endElement.titleId !== elementList[endIndex + 1]?.titleId
) )
) { ) {
// 格式化上下文
formatElementContext(elementList, [enterText], startIndex) formatElementContext(elementList, [enterText], startIndex)
} // 复制样式属性
// 复制样式属性 const copyElement = getAnchorElement(elementList, endIndex)
const copyElement = getAnchorElement(elementList, endIndex) if (copyElement) {
if (copyElement) { const copyAttr = [...EDITOR_ELEMENT_STYLE_ATTR, ...EDITOR_ROW_ATTR]
const copyAttr = [...EDITOR_ELEMENT_STYLE_ATTR, ...EDITOR_ROW_ATTR] copyAttr.forEach(attr => {
copyAttr.forEach(attr => { const value = copyElement[attr] as never
const value = copyElement[attr] as never if (value !== undefined) {
if (value !== undefined) { enterText[attr] = value
enterText[attr] = value }
} })
}) }
} }
// 控件或文档插入换行元素 // 控件或文档插入换行元素
const control = draw.getControl() const control = draw.getControl()

Loading…
Cancel
Save