From c7a30c314c104aaf96aee5ca93c0e015589f5276 Mon Sep 17 00:00:00 2001 From: katherinehhh Date: Fri, 4 Aug 2023 11:06:03 +0800 Subject: [PATCH] fix: customized create action supports tree data for table selection data (#2328) * fix: customized add action in table selection data supports tree data * fix: customized add action in table selection data supports tree data --- .../src/schema-component/common/utils/uitls.tsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/core/client/src/schema-component/common/utils/uitls.tsx b/packages/core/client/src/schema-component/common/utils/uitls.tsx index f9bf00a9d..df7b5f0d0 100644 --- a/packages/core/client/src/schema-component/common/utils/uitls.tsx +++ b/packages/core/client/src/schema-component/common/utils/uitls.tsx @@ -13,11 +13,23 @@ type VariablesCtx = { $form?: Record; }; +function flattenDeep(data, result = []) { + for (let i = 0; i < data?.length; i++) { + const { children, ...rest } = data[i]; + result.push(rest); + if (children) { + flattenDeep(children, result); + } + } + return result; +} + export const useVariablesCtx = (): VariablesCtx => { const currentUser = useCurrentUserContext(); const { field, service, rowKey } = useTableBlockContext(); - const contextData = service?.data?.data?.filter((v) => (field?.data?.selectedRowKeys || [])?.includes(v[rowKey])); + const tableData = flattenDeep(service?.data?.data); return useMemo(() => { + const contextData = tableData?.filter((v) => (field?.data?.selectedRowKeys || [])?.includes(v[rowKey])); return { $user: currentUser?.data?.data || {}, $date: {