浏览代码

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

Signed-off-by: jingfelix <jingfelix@outlook.com>
tags/1.8.1
Tianyi Jing 2 个月前
父节点
当前提交
414ee51975
没有帐户链接到提交者的电子邮件
共有 2 个文件被更改,包括 20 次插入0 次删除
  1. 19
    0
      web/app/components/base/form/components/base/base-field.tsx
  2. 1
    0
      web/app/components/base/form/types.ts

+ 19
- 0
web/app/components/base/form/components/base/base-field.tsx 查看文件

@@ -12,6 +12,7 @@ import PureSelect from '@/app/components/base/select/pure'
import type { FormSchema } from '@/app/components/base/form/types'
import { FormTypeEnum } from '@/app/components/base/form/types'
import { useRenderI18nObject } from '@/hooks/use-i18n'
import Radio from '@/app/components/base/radio'
import RadioE from '@/app/components/base/radio/ui'

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

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

if (!show)
return null

@@ -204,6 +211,18 @@ const BaseField = ({
</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 && (
<a

+ 1
- 0
web/app/components/base/form/types.ts 查看文件

@@ -32,6 +32,7 @@ export enum FormTypeEnum {
multiToolSelector = 'array[tools]',
appSelector = 'app-selector',
dynamicSelect = 'dynamic-select',
boolean = 'boolean',
}

export type FormOption = {

正在加载...
取消
保存