Form 表单
封装了表单组件,能快速完成表单的布局、表单验证、复杂对象表单
表单包含了一系列的组件或者方法,包括下面这些
- Form 表单
- Form.Item 表单项
- Form.Submit 表单提交
- Form.Reset 表单重置
- Form.Object 对象表单
- Form.Array 数组表单
- Form.ArrayAction 数组表单操作管理
- Form.useFormContext 获取表单上下文
- Form.useFormItemProxy 给表单代理值和事件
示例
import {
Header, ScrollView, TopView, Form,
Card, Divider, Input, PickerDate,
PickerSelect, Textarea, Row
} from '@/duxui'
const defaultValues = {
}
const rules = {
name: [
{
required: true,
type: 'string',
message: '输入框为必填字段'
}
],
tel: [
{
required: true,
type: 'string',
message: '介绍为必填字段'
}
]
}
export default function FormExample() {
return <TopView>
<Header title='Form' />
<Form onSubmit={console.log} defaultValues={defaultValues}>
<ScrollView>
<Card margin verticalPadding={false}>
<Divider.Group>
<Form.Item label='输入框' field='name' rules={rules.name}>
<Input placeholder='请输入' align='right' grow />
</Form.Item>
<Form.Item label='介绍的输入' field='tel' desc='输入框介绍,这是输入框介绍' rules={rules.tel}>
<Input placeholder='请输入' />
</Form.Item>
<Form.Item label='日期' field='date'>
<PickerDate title='日期' placeholder='请选择日期' grow />
</Form.Item>
<Form.Item label='选择' field='sex'>
<PickerSelect title='选择' placeholder='请选择性别' range={['男', '女']} grow />
</Form.Item>
<Form.Item label='介绍' field='desc' direction='vertical' >
<Textarea placeholder='请输入介绍' maxlength={100} />
</Form.Item>
</Divider.Group>
</Card>
<Row className='p-3 gap-3'>
<Form.Reset className='flex-grow'>重置</Form.Reset>
<Form.Submit className='flex-grow' type='primary'>