Parcourir la source

refactor: update radio component to handle boolean values instead of numeric (#24956)

tags/1.8.1
17hz il y a 2 mois
Parent
révision
2ac8f8003f
Aucun compte lié à l'adresse e-mail de l'auteur

+ 4
- 10
web/app/components/base/form/components/base/base-field.tsx Voir le fichier

@@ -103,12 +103,6 @@ const BaseField = ({
})
}, [values, show_on])

const booleanRadioValue = useMemo(() => {
if (value === null || value === undefined)
return undefined
return value ? 1 : 0
}, [value])

if (!show)
return null

@@ -215,11 +209,11 @@ const BaseField = ({
formSchema.type === FormTypeEnum.boolean && (
<Radio.Group
className='flex w-fit items-center'
value={booleanRadioValue}
onChange={val => field.handleChange(val === 1)}
value={value}
onChange={v => field.handleChange(v)}
>
<Radio value={1} className='!mr-1'>True</Radio>
<Radio value={0}>False</Radio>
<Radio value={true} className='!mr-1'>True</Radio>
<Radio value={false}>False</Radio>
</Radio.Group>
)
}

+ 1
- 1
web/app/components/base/radio/component/group/index.tsx Voir le fichier

@@ -5,7 +5,7 @@ import cn from '@/utils/classnames'

export type TRadioGroupProps = {
children?: ReactNode | ReactNode[]
value?: string | number
value?: string | number | boolean
className?: string
onChange?: (value: any) => void
}

+ 1
- 1
web/app/components/base/radio/component/radio/index.tsx Voir le fichier

@@ -10,7 +10,7 @@ export type IRadioProps = {
labelClassName?: string
children?: string | ReactNode
checked?: boolean
value?: string | number
value?: string | number | boolean
disabled?: boolean
onChange?: (e?: IRadioProps['value']) => void
}

+ 4
- 4
web/app/components/header/account-setting/model-provider-page/model-modal/Form.tsx Voir le fichier

@@ -284,11 +284,11 @@ function Form<
</div>
<Radio.Group
className='flex items-center'
value={value[variable] === null ? undefined : (value[variable] ? 1 : 0)}
onChange={val => handleFormChange(variable, val === 1)}
value={value[variable]}
onChange={val => handleFormChange(variable, val)}
>
<Radio value={1} className='!mr-1'>True</Radio>
<Radio value={0}>False</Radio>
<Radio value={true} className='!mr-1'>True</Radio>
<Radio value={false}>False</Radio>
</Radio.Group>
</div>
{fieldMoreInfo?.(formSchema)}

+ 5
- 5
web/app/components/header/account-setting/model-provider-page/model-parameter-modal/parameter-item.tsx Voir le fichier

@@ -91,8 +91,8 @@ const ParameterItem: FC<ParameterItemProps> = ({
numberInputRef.current!.value = `${num}`
}

const handleRadioChange = (v: number) => {
handleInputChange(v === 1)
const handleRadioChange = (v: boolean) => {
handleInputChange(v)
}

const handleStringInputChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
@@ -187,11 +187,11 @@ const ParameterItem: FC<ParameterItemProps> = ({
return (
<Radio.Group
className='flex w-[178px] items-center'
value={renderValue ? 1 : 0}
value={renderValue as boolean}
onChange={handleRadioChange}
>
<Radio value={1} className='w-[83px]'>True</Radio>
<Radio value={0} className='w-[83px]'>False</Radio>
<Radio value={true} className='w-[83px]'>True</Radio>
<Radio value={false} className='w-[83px]'>False</Radio>
</Radio.Group>
)
}

Chargement…
Annuler
Enregistrer