From d628ffad26f897ee6144b3981bdcd11cb8dd5e9d Mon Sep 17 00:00:00 2001 From: roymondchen Date: Mon, 19 May 2025 20:14:29 +0800 Subject: [PATCH] =?UTF-8?q?fix(data-source):=20=E5=BC=82=E6=AD=A5=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E6=95=B0=E6=8D=AE=E6=BA=90=E6=97=B6=EF=BC=8C=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E7=AC=AC=E4=B8=80=E6=AC=A1=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E6=97=B6=E6=95=B0=E6=8D=AE=E6=BA=90=E5=8F=AF=E8=83=BD=E6=9C=AA?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=EF=BC=8C=E9=9C=80=E8=A6=81=E4=BC=98=E5=85=88?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=95=B0=E6=8D=AE=E6=BA=90=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/data-source/src/DataSourceManager.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/data-source/src/DataSourceManager.ts b/packages/data-source/src/DataSourceManager.ts index 03e4dcfc..44685116 100644 --- a/packages/data-source/src/DataSourceManager.ts +++ b/packages/data-source/src/DataSourceManager.ts @@ -76,6 +76,7 @@ class DataSourceManager extends EventEmitter { public dataSourceMap = new Map>(); public data: DataSourceManagerData = {}; + public initialData: DataSourceManagerData = {}; public useMock?: boolean = false; constructor({ app, useMock, initialData }: DataSourceManagerOptions) { @@ -87,6 +88,7 @@ class DataSourceManager extends EventEmitter { this.useMock = useMock; if (initialData) { + this.initialData = initialData; this.data = initialData; } @@ -178,7 +180,7 @@ class DataSourceManager extends EventEmitter { } // 保证初始化时的第一次编译有值 - this.data[config.id] = getDefaultValueFromFields(config.fields); + this.data[config.id] = this.initialData[config.id] ?? getDefaultValueFromFields(config.fields); return; } @@ -188,7 +190,7 @@ class DataSourceManager extends EventEmitter { schema: config, request: this.app.request, useMock: this.useMock, - initialData: this.data[config.id], + initialData: this.initialData[config.id], ObservedDataClass: DataSourceManager.ObservedDataClass, }); @@ -322,6 +324,7 @@ class DataSourceManager extends EventEmitter { public destroy() { this.removeAllListeners(); this.data = {}; + this.initialData = {}; this.dataSourceMap.forEach((ds) => { ds.destroy(); });