import type { FormColumn } from "./typings"; import { Input, InputNumber, Select, Radio, Checkbox, Switch, DatePicker, TimePicker, TreeSelect, Cascader, Rate, Slider, ColorPicker } from 'antd'; import type { InputProps, InputNumberProps, SelectProps, TreeSelectProps, RadioGroupProps, SwitchProps, RateProps, SliderSingleProps, DatePickerProps, TimePickerProps, ColorPickerProps } from 'antd'; import type { PasswordProps, TextAreaProps } from "antd/es/input"; import type { RangePickerProps } from "antd/es/date-picker"; import type { CheckboxGroupProps } from 'antd/es/checkbox'; import IconSelector from '@/components/XinFormField/IconSelector'; import ImageUploader from '@/components/XinFormField/ImageUploader'; import UserSelector from '@/components/XinFormField/UserSelector'; import type { IconSelectProps } from '@/components/XinFormField/IconSelector/typings'; import type { ImageUploaderProps } from '@/components/XinFormField/ImageUploader/typings'; import type { UserSelectorProps } from '@/components/XinFormField/UserSelector/typings'; import type {ReactNode} from "react"; const { TextArea, Password } = Input; const { RangePicker } = DatePicker; interface FieldsRenderProps extends Record { valueType: FormColumn['valueType']; } export default function FieldRender(props: FieldsRenderProps) { const { valueType, ...fieldProps } = props; let dom: ReactNode; switch (valueType) { case 'password': dom = ; break; case 'textarea': dom =