Переглянути джерело

fix: add missing form for boolean types (#24812)

Signed-off-by: jingfelix <jingfelix@outlook.com>
tags/1.8.1
Tianyi Jing 2 місяці тому
джерело
коміт
414ee51975
Аккаунт користувача з таким Email не знайдено

+ 19
- 0
web/app/components/base/form/components/base/base-field.tsx Переглянути файл

import type { FormSchema } from '@/app/components/base/form/types' import type { FormSchema } from '@/app/components/base/form/types'
import { FormTypeEnum } from '@/app/components/base/form/types' import { FormTypeEnum } from '@/app/components/base/form/types'
import { useRenderI18nObject } from '@/hooks/use-i18n' import { useRenderI18nObject } from '@/hooks/use-i18n'
import Radio from '@/app/components/base/radio'
import RadioE from '@/app/components/base/radio/ui' import RadioE from '@/app/components/base/radio/ui'


export type BaseFieldProps = { export type BaseFieldProps = {
}) })
}, [values, show_on]) }, [values, show_on])


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

if (!show) if (!show)
return null return null


</div> </div>
) )
} }
{
formSchema.type === FormTypeEnum.boolean && (
<Radio.Group
className='flex w-fit items-center'
value={booleanRadioValue}
onChange={val => field.handleChange(val === 1)}
>
<Radio value={1} className='!mr-1'>True</Radio>
<Radio value={0}>False</Radio>
</Radio.Group>
)
}
{ {
formSchema.url && ( formSchema.url && (
<a <a

+ 1
- 0
web/app/components/base/form/types.ts Переглянути файл

multiToolSelector = 'array[tools]', multiToolSelector = 'array[tools]',
appSelector = 'app-selector', appSelector = 'app-selector',
dynamicSelect = 'dynamic-select', dynamicSelect = 'dynamic-select',
boolean = 'boolean',
} }


export type FormOption = { export type FormOption = {

Завантаження…
Відмінити
Зберегти