📝 表单处理

表单处理概述

表单是管理后台最常用的功能之一,用于数据录入、编辑和提交。完善的表单处理可以提升用户体验,减少错误数据。

表单验证规则

验证类型 说明 示例
必填验证 字段不能为空 required: true
长度验证 限制字符长度 min: 6, max: 20
格式验证 验证数据格式 email, url, phone
范围验证 数值范围限制 min: 0, max: 100
自定义验证 自定义验证逻辑 validator: function
异步验证 远程验证数据 检查用户名是否存在

表单库对比

表单库 框架 特点
Ant Design Form React 功能全面、与 UI 库集成好
Formik React 简洁 API、社区活跃
React Hook Form React 性能好、Hooks API、轻量
Element Form Vue 与 Element 集成、易用
VeeValidate Vue 验证强大、可扩展

高级表单功能

1. 动态表单

根据配置动态生成表单。

const formSchema = [ { type: 'input', field: 'username', label: '用户名', rules: [{ required: true, message: '请输入用户名' }] }, { type: 'select', field: 'role', label: '角色', options: [ { label: '管理员', value: 'admin' }, { label: '编辑', value: 'editor' } ] } ];

2. 表单联动

字段之间相互影响。

// 省市区联动 const [province, setProvince] = useState(''); const [cities, setCities] = useState([]); useEffect(() => { if (province) { fetchCities(province).then(setCities); } }, [province]);

3. 分步表单

将复杂表单分成多个步骤。

const steps = [ { title: '基本信息', component: BasicForm }, { title: '详细信息', component: DetailForm }, { title: '确认提交', component: ConfirmForm } ];

表单最佳实践

  • 即时验证:用户输入时实时反馈
  • 错误提示:清晰明确的错误信息
  • 自动保存:防止数据丢失
  • 提交防抖:防止重复提交
  • 加载状态:提交时显示 loading
  • 表单重置:提供重置功能