diff --git a/packages/editor/src/services/editor.ts b/packages/editor/src/services/editor.ts index a8d21e60..17e8207a 100644 --- a/packages/editor/src/services/editor.ts +++ b/packages/editor/src/services/editor.ts @@ -533,7 +533,15 @@ class Editor extends BaseService { let newConfig = await this.toggleFixedPosition(toRaw(config), node, root); - newConfig = mergeWith(cloneDeep(node), newConfig, (objValue, srcValue) => { + newConfig = mergeWith(cloneDeep(node), newConfig, (objValue, srcValue, key) => { + if (typeof srcValue === 'undefined' && Object.hasOwn(newConfig, key)) { + if (typeof objValue === 'string') { + return ''; + } + + return null; + } + if (isObject(srcValue) && Array.isArray(objValue)) { // 原来的配置是数组,新的配置是对象,则直接使用新的值 return srcValue;