diff --git a/packages/core/plugin/HistoryPlugin.ts b/packages/core/plugin/HistoryPlugin.ts index 5e8ddc64..b2cf7c3d 100644 --- a/packages/core/plugin/HistoryPlugin.ts +++ b/packages/core/plugin/HistoryPlugin.ts @@ -3,7 +3,7 @@ * @Author: 秦少卫 * @Date: 2023-06-20 13:06:31 * @LastEditors: 秦少卫 - * @LastEditTime: 2024-04-10 17:33:25 + * @LastEditTime: 2024-04-17 12:26:45 * @Description: 历史记录插件 */ import { fabric } from 'fabric'; @@ -30,12 +30,13 @@ class HistoryPlugin { this.canvas = canvas; this.editor = editor; this._init(); + + fabric.Canvas.prototype._historyNext = () => { + return this.editor.getJson(); + }; } _init() { - this.canvas.getObjects().forEach((item) => { - this.canvas.add(item); - }); this.canvas.on('history:append', () => { this.historyUpdate(); }); diff --git a/typings/extends.d.ts b/typings/extends.d.ts index c703b490..4a58f55b 100644 --- a/typings/extends.d.ts +++ b/typings/extends.d.ts @@ -6,6 +6,7 @@ declare namespace fabric { isDragging: boolean; _currentTransform: unknown; clearHistory(): void; + _historyNext(): void; _centerObject: (obj: fabric.Object, center: fabric.Point) => fabric.Canvas; _setupCurrentTransform(e: Event, target: fabric.Object, alreadySelected: boolean): void; }