chore: list filter transfer value to array

This commit is contained in:
Joel 2024-09-25 13:41:56 +08:00
parent 0281eb796d
commit 195ac19774
2 changed files with 7 additions and 6 deletions

View File

@ -30,6 +30,7 @@ const FilterCondition: FC<Props> = ({
}) => {
const { t } = useTranslation()
const isSelect = [ComparisonOperator.in, ComparisonOperator.notIn, ComparisonOperator.allOf].includes(condition.comparison_operator)
const isTransferMethod = condition.key === 'transfer_method'
const selectOptions = useMemo(() => {
if (isSelect) {
if (condition.key === 'type' || condition.comparison_operator === ComparisonOperator.allOf) {
@ -38,7 +39,7 @@ const FilterCondition: FC<Props> = ({
value: item.value,
}))
}
if (condition.key === 'transfer_method') {
if (isTransferMethod) {
return TRANSFER_METHOD.map(item => ({
name: t(`${optionNameI18NPrefix}.${item.i18nKey}`),
value: item.value,
@ -47,15 +48,15 @@ const FilterCondition: FC<Props> = ({
return []
}
return []
}, [condition.comparison_operator, condition.key, isSelect, t])
}, [condition.comparison_operator, condition.key, isSelect, t, isTransferMethod])
const handleChange = useCallback((key: string) => {
return (value: any) => {
onChange({
...condition,
[key]: value,
[key]: isTransferMethod ? [value] : value,
})
}
}, [condition, onChange])
}, [condition, onChange, isTransferMethod])
const handleSubVariableChange = useCallback((value: string) => {
onChange({
@ -88,7 +89,7 @@ const FilterCondition: FC<Props> = ({
{isSelect && (
<Select
items={selectOptions}
defaultValue={condition.value}
defaultValue={isTransferMethod ? (condition.value as string[])[0] : condition.value as string}
onSelect={item => handleChange('value')(item.value)}
className='!text-[13px]'
wrapperClassName='grow h-8'

View File

@ -14,7 +14,7 @@ export type Limit = {
export type Condition = {
key: string
comparison_operator: ComparisonOperator
value: string | number
value: string | number | string[]
}
export type ListFilterNodeType = CommonNodeType & {