From 9a23cd08d8b1099da825786f4b24af7f40853e20 Mon Sep 17 00:00:00 2001 From: Joel Date: Mon, 19 Aug 2024 16:49:43 +0800 Subject: [PATCH] fix: sub varibale select trigger --- web/app/components/base/select/index.tsx | 46 ++++++++++--------- .../condition-list/condition-item.tsx | 13 ++++++ 2 files changed, 38 insertions(+), 21 deletions(-) diff --git a/web/app/components/base/select/index.tsx b/web/app/components/base/select/index.tsx index 362b56e0a4..472b5be508 100644 --- a/web/app/components/base/select/index.tsx +++ b/web/app/components/base/select/index.tsx @@ -29,6 +29,7 @@ export type Item = { export type ISelectProps = { className?: string wrapperClassName?: string + renderTrigger?: (value: Item | null) => JSX.Element | null items?: Item[] defaultValue?: number | string disabled?: boolean @@ -168,6 +169,7 @@ const Select: FC = ({ const SimpleSelect: FC = ({ className, wrapperClassName = '', + renderTrigger, items = defaultItems, defaultValue = 1, disabled = false, @@ -203,27 +205,29 @@ const SimpleSelect: FC = ({ >
- {selectedItem?.name ?? localPlaceholder} - - {selectedItem - ? ( - { - e.stopPropagation() - setSelectedItem(null) - onSelect({ name: '', value: '' }) - }} - className="h-5 w-5 text-gray-400 cursor-pointer" - aria-hidden="false" - /> - ) - : ( - + {renderTrigger ? renderTrigger(selectedItem) : {selectedItem?.name ?? localPlaceholder}} + {!renderTrigger && ( + + {selectedItem + ? ( + { + e.stopPropagation() + setSelectedItem(null) + onSelect({ name: '', value: '' }) + }} + className="h-5 w-5 text-gray-400 cursor-pointer" + aria-hidden="false" + /> + ) + : ( + + )} {!disabled && ( handleSubVarKeyChange(item.value as string)} + renderTrigger={item => ( + item + ?
+
+ +
{item?.name}
+
+ handleSubVarKeyChange('')} /> +
+ :
{t('common.placeholder.select')}
+ )} /> ) : (