From 792e5f4880a535065cdaf3c62ad2a3822686e506 Mon Sep 17 00:00:00 2001 From: xzdry Date: Thu, 9 Jun 2022 10:38:50 +0800 Subject: [PATCH] fix: fix some arco bugs Remove useless attributes Fix slot-related bugs Fix popover wrong display of controlled mode --- packages/arco-lib/src/components/Cascader.tsx | 2 +- packages/arco-lib/src/components/Modal.tsx | 2 +- packages/arco-lib/src/components/Popover.tsx | 1 + packages/arco-lib/src/components/Tabs.tsx | 24 ++++++++++++------- .../arco-lib/src/components/TimePicker.tsx | 5 +--- packages/arco-lib/src/components/Tooltip.tsx | 3 +++ .../arco-lib/src/generated/types/Popover.ts | 8 ++++--- 7 files changed, 27 insertions(+), 18 deletions(-) diff --git a/packages/arco-lib/src/components/Cascader.tsx b/packages/arco-lib/src/components/Cascader.tsx index 17710029..2c732e53 100644 --- a/packages/arco-lib/src/components/Cascader.tsx +++ b/packages/arco-lib/src/components/Cascader.tsx @@ -152,7 +152,7 @@ export const Cascader = implementRuntimeComponent({ options={convertArrToTree(options)} placeholder={placeholder} > - {content} + {content ?
{content}
: null} ); }); diff --git a/packages/arco-lib/src/components/Modal.tsx b/packages/arco-lib/src/components/Modal.tsx index dcea7c82..54979ac9 100644 --- a/packages/arco-lib/src/components/Modal.tsx +++ b/packages/arco-lib/src/components/Modal.tsx @@ -90,7 +90,7 @@ export const Modal = implementRuntimeComponent({ }} afterClose={afterClose} afterOpen={afterOpen} - footer={slotsElements.footer ? slotsElements.footer({}) : null} + footer={slotsElements.footer ? slotsElements.footer({}) : undefined} className={css(customStyle?.content)} mountOnEnter={true} {...cProps} diff --git a/packages/arco-lib/src/components/Popover.tsx b/packages/arco-lib/src/components/Popover.tsx index 8fd491ba..0fe3b44f 100644 --- a/packages/arco-lib/src/components/Popover.tsx +++ b/packages/arco-lib/src/components/Popover.tsx @@ -64,6 +64,7 @@ export const Popover = implementRuntimeComponent({ return controlled ? ( diff --git a/packages/arco-lib/src/components/Tabs.tsx b/packages/arco-lib/src/components/Tabs.tsx index 650f75d8..54845787 100644 --- a/packages/arco-lib/src/components/Tabs.tsx +++ b/packages/arco-lib/src/components/Tabs.tsx @@ -119,15 +119,21 @@ export const Tabs = implementRuntimeComponent({ activeTab={String(activeTab)} ref={ref} > - {tabs.map((tabName, idx) => ( - - {slotsElements?.content - ? slotsElements.content({ - tabIndex: idx, - }) - : null} - - ))} + {tabs.map((tabItem, idx) => + tabItem.hidden ? null : ( + + {slotsElements?.content + ? slotsElements.content({ + tabIndex: idx, + }) + : null} + + ) + )} ); }); diff --git a/packages/arco-lib/src/components/TimePicker.tsx b/packages/arco-lib/src/components/TimePicker.tsx index efe3aea4..ade34e7a 100644 --- a/packages/arco-lib/src/components/TimePicker.tsx +++ b/packages/arco-lib/src/components/TimePicker.tsx @@ -64,9 +64,6 @@ export const TimePicker = implementRuntimeComponent({ footer: { slotProps: Type.Object({}), }, - triggerElement: { - slotProps: Type.Object({}), - }, }, styleSlots: ['content'], events: ['onChange', 'onClear', 'onVisibleChange'], @@ -84,7 +81,7 @@ export const TimePicker = implementRuntimeComponent({ const { elementRef, customStyle, slotsElements, callbackMap, mergeState } = props; const pickerProps = { - extra: slotsElements.footer, + extra: slotsElements.footer && slotsElements.footer({}), utcOffset: useUtcOffset ? utcOffset : undefined, onChange: (timeString: string | string[], time: Dayjs | Dayjs[]) => { mergeState({ diff --git a/packages/arco-lib/src/components/Tooltip.tsx b/packages/arco-lib/src/components/Tooltip.tsx index 8ec0feee..985d9ce4 100644 --- a/packages/arco-lib/src/components/Tooltip.tsx +++ b/packages/arco-lib/src/components/Tooltip.tsx @@ -38,6 +38,9 @@ export const Tooltip = implementRuntimeComponent({ slots: { content: { slotProps: Type.Object({}) }, }, + annotations: { + category: 'Display', + }, styleSlots: ['content'], events: [], }, diff --git a/packages/arco-lib/src/generated/types/Popover.ts b/packages/arco-lib/src/generated/types/Popover.ts index 234a02d4..133119d5 100644 --- a/packages/arco-lib/src/generated/types/Popover.ts +++ b/packages/arco-lib/src/generated/types/Popover.ts @@ -29,9 +29,11 @@ export const PopoverPropsSpec = { controlled: Type.Boolean({ title: 'Controlled', category: Category.Basic, + description: + 'Control the opening and closing of popups via openPopupover and closePopupover events', }), - unmountOnExit:Type.Boolean({ - title:'Destroy On Hide', + unmountOnExit: Type.Boolean({ + title: 'Destroy On Hide', category: Category.Behavior, - }) + }), };