From b6a6431c6f17e477c408adc859e9fad272798fb9 Mon Sep 17 00:00:00 2001 From: Rain <958414905@qq.com> Date: Tue, 26 Sep 2023 16:15:42 +0800 Subject: [PATCH] fix(SchemaInitializer): avoid crashing --- .../src/schema-initializer/SchemaInitializer.tsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/core/client/src/schema-initializer/SchemaInitializer.tsx b/packages/core/client/src/schema-initializer/SchemaInitializer.tsx index 307e7317b..ce9b2cb4d 100644 --- a/packages/core/client/src/schema-initializer/SchemaInitializer.tsx +++ b/packages/core/client/src/schema-initializer/SchemaInitializer.tsx @@ -141,10 +141,10 @@ const lazyLoadChildren = ({ { beforeLoading?.(); - item._allChildren = item.loadChildren({ searchValue }); + item._allChildren = item.loadChildren({ searchValue }) || []; item._count += minStep; - item.children = item._allChildren?.slice(0, item._count); - if (item.children?.length < item._allChildren?.length) { + item.children = item._allChildren.slice(0, item._count); + if (item.children.length < item._allChildren.length) { addLoading(item, searchValue); } afterLoading?.({ currentCount: item._count }); @@ -168,7 +168,7 @@ const lazyLoadChildren = ({ onChange={(value) => { item._count = minStep; beforeLoading?.(); - item._allChildren = item.loadChildren({ searchValue: value }); + item._allChildren = item.loadChildren({ searchValue: value }) || []; if (isEmpty(item._allChildren)) { item.children = [ @@ -178,10 +178,10 @@ const lazyLoadChildren = ({ }, ]; } else { - item.children = item._allChildren?.slice(0, item._count); + item.children = item._allChildren.slice(0, item._count); } - if (item.children?.length < item._allChildren?.length) { + if (item.children.length < item._allChildren.length) { addLoading(item, value); } afterLoading?.({ currentCount: item._count }); @@ -351,7 +351,8 @@ SchemaInitializer.Button = observer( children: isEmpty(item.children) ? [] : renderItems(item.children), }; } - }); + }) + .filter(Boolean); }; if (visible) {