diff --git a/packages/data-source/src/utils.ts b/packages/data-source/src/utils.ts index c3f8f48d..2ea52126 100644 --- a/packages/data-source/src/utils.ts +++ b/packages/data-source/src/utils.ts @@ -242,11 +242,14 @@ export const compliedIteratorItems = ( }); }; +/** + * 按需加载数据源 + */ export const registerDataSourceOnDemand = async ( dsl: MApp, dataSourceModules: Record Promise>, ) => { - const { dataSourceCondDeps = {}, dataSourceDeps = {}, dataSources = [] } = dsl; + const { dataSourceMethodsDeps = {}, dataSourceCondDeps = {}, dataSourceDeps = {}, dataSources = [] } = dsl; const dsModuleMap: Record Promise> = {}; @@ -257,6 +260,10 @@ export const registerDataSourceOnDemand = async ( dep = dataSourceDeps[ds.id] || {}; } + if (!Object.keys(dep).length) { + dep = dataSourceMethodsDeps[ds.id] || {}; + } + if (Object.keys(dep).length && dataSourceModules[ds.type]) { dsModuleMap[ds.type] = dataSourceModules[ds.type]; }