diff --git a/src/editor/dataset/constant/Element.ts b/src/editor/dataset/constant/Element.ts index 75e70ff..fa117e5 100644 --- a/src/editor/dataset/constant/Element.ts +++ b/src/editor/dataset/constant/Element.ts @@ -120,8 +120,7 @@ export const CONTROL_STYLE_ATTR: Array = [ export const EDITOR_ELEMENT_CONTEXT_ATTR: Array = [ ...TABLE_CONTEXT_ATTR, ...TITLE_CONTEXT_ATTR, - ...LIST_CONTEXT_ATTR, - ...EDITOR_ROW_ATTR + ...LIST_CONTEXT_ATTR ] export const TEXTLIKE_ELEMENT_TYPE: ElementType[] = [ diff --git a/src/editor/utils/element.ts b/src/editor/utils/element.ts index fd30ba4..a6e2789 100644 --- a/src/editor/utils/element.ts +++ b/src/editor/utils/element.ts @@ -236,7 +236,10 @@ export function formatElementList( // 移除父节点 elementList.splice(i, 1) // 控件上下文提取(压缩后的控件上下文无法提取) - const controlContext = pickObject(el, EDITOR_ELEMENT_CONTEXT_ATTR) + const controlContext = pickObject(el, [ + ...EDITOR_ELEMENT_CONTEXT_ATTR, + ...EDITOR_ROW_ATTR + ]) // 控件设置的默认样式(以前缀为基准) const controlDefaultStyle = pickObject( (el.control), @@ -858,11 +861,12 @@ export function formatElementContext( anchorIndex ) } - cloneProperty( - EDITOR_ELEMENT_CONTEXT_ATTR, - copyElement, - targetElement - ) + // 非块类元素,需处理行属性 + const cloneAttr = [...EDITOR_ELEMENT_CONTEXT_ATTR] + if (!getIsBlockElement(targetElement)) { + cloneAttr.push(...EDITOR_ROW_ATTR) + } + cloneProperty(cloneAttr, copyElement, targetElement) } }