diff --git a/packages/core/client/src/schema-component/antd/form-v2/Templates.tsx b/packages/core/client/src/schema-component/antd/form-v2/Templates.tsx index 3915797210..329901189d 100644 --- a/packages/core/client/src/schema-component/antd/form-v2/Templates.tsx +++ b/packages/core/client/src/schema-component/antd/form-v2/Templates.tsx @@ -1,5 +1,5 @@ import { useFieldSchema } from '@formily/react'; -import { forEach, showToast } from '@nocobase/utils/client'; +import { error, forEach, showToast } from '@nocobase/utils/client'; import { Select } from 'antd'; import _ from 'lodash'; import React, { useCallback, useEffect } from 'react'; @@ -29,15 +29,20 @@ const useDataTemplates = () => { // 过滤掉已经被删除的字段 items.forEach((item) => { - item.fields = item.fields - .map((field) => { - const joinField = getCollectionJoinField(`${item.collection}.${field}`); - if (joinField) { - return field; - } - return ''; - }) - .filter(Boolean); + try { + item.fields = item.fields + .map((field) => { + const joinField = getCollectionJoinField(`${item.collection}.${field}`); + if (joinField) { + return field; + } + return ''; + }) + .filter(Boolean); + } catch (err) { + error(err); + item.fields = []; + } }); const templates: any = [ diff --git a/packages/core/utils/src/client.ts b/packages/core/utils/src/client.ts index ece5e261c6..7e4b7dc827 100644 --- a/packages/core/utils/src/client.ts +++ b/packages/core/utils/src/client.ts @@ -4,6 +4,7 @@ export * from './date'; export * from './forEach'; export * from './getValuesByPath'; export * from './json-templates'; +export * from './log'; export * from './merge'; export * from './notification'; export * from './number'; diff --git a/packages/core/utils/src/log.ts b/packages/core/utils/src/log.ts new file mode 100644 index 0000000000..227da7ea69 --- /dev/null +++ b/packages/core/utils/src/log.ts @@ -0,0 +1,3 @@ +export const error = (message: Error | string, ...args: any[]) => { + console.error(message, ...args); +};