diff --git a/src/editor/core/draw/particle/date/DateParticle.ts b/src/editor/core/draw/particle/date/DateParticle.ts index 4a839e5..4e91005 100644 --- a/src/editor/core/draw/particle/date/DateParticle.ts +++ b/src/editor/core/draw/particle/date/DateParticle.ts @@ -1,6 +1,7 @@ import { ElementType } from '../../../../dataset/enum/Element' import { IElement, IElementPosition } from '../../../../interface/Element' import { IRowElement } from '../../../../interface/Row' +import { formatElementContext } from '../../../../utils/element' import { RangeManager } from '../../../range/RangeManager' import { Draw } from '../../Draw' import { DatePicker } from './DatePicker' @@ -53,14 +54,16 @@ export class DateParticle { this.draw.spliceElementList(elementList, leftIndex + 1, rightIndex - leftIndex) this.range.setRange(leftIndex, leftIndex) // 插入新时间 - this.draw.insertElementList([{ + const dateElement: IElement = { type: ElementType.DATE, value: '', dateFormat: startElement.dateFormat, valueList: [{ value: date }] - }]) + } + formatElementContext(elementList, [dateElement], leftIndex) + this.draw.insertElementList([dateElement]) } public getDateElementRange(): [number, number] | null { diff --git a/src/editor/utils/element.ts b/src/editor/utils/element.ts index 8b60e8a..f8b462a 100644 --- a/src/editor/utils/element.ts +++ b/src/editor/utils/element.ts @@ -551,6 +551,9 @@ export function formatElementContext(sourceElementList: IElement[], formatElemen if (!copyElement) return for (let e = 0; e < formatElementList.length; e++) { const targetElement = formatElementList[e] + if (targetElement.valueList && targetElement.valueList.length) { + formatElementContext(sourceElementList, targetElement.valueList, anchorIndex) + } for (let i = 0; i < EDITOR_ELEMENT_CONTEXT_ATTR.length; i++) { const attr = EDITOR_ELEMENT_CONTEXT_ATTR[i] const value = copyElement[attr] as never