用途:为复杂表单提供 UX 设计模式,降低用户认知负荷。基于认知负荷研究与航空 UX 原则,适用于结账、注册、多字段录入等场景。
主要能力:
- 认知分块:依据 Miller 定律,将字段按逻辑分组,每组最多 5-7 个,避免单页 12 个字段造成的过载。
- 简报与清单分离:把填写说明放在字段标签之前,而非混入标签。
- 渐进式披露:根据用户选择动态显示字段,如选择自提时隐藏地址、显示门店选择器。
- 多步骤表单:提供 useMultiStepForm 钩子,管理当前步骤、进度、前进/后退、按条件过滤步骤,并在切换步骤时校验当前字段、聚焦首个错误与步骤标题。
- 条件字段:ConditionalField 组件通过 useWatch 监听字段值决定是否渲染,可选隐藏时注销字段。
- 动态字段数组:RepeatableField 基于 useFieldArray 支持增删条目,可设最大/最小数量。
- 布局模式:单列(推荐默认)、双列(仅用于相关短字段,窄屏转单列)、卡片分区。
- 步骤指示器与导航组件:含进度条、aria 属性与提交状态处理。
使用方式:技能以 SKILL.md 与 scripts 目录组织,包含 multi-step-form.tsx、conditional-field.tsx、repeatable-field.tsx、step-indicator.tsx 及样式文件;示例基于 React 与 react-hook-form,导入相应钩子与组件即可使用。
适用场景:多步骤结账、注册、地址与支付等复杂表单。
限制:资料未提供具体安装命令、依赖版本、浏览器兼容性、性能数据或收费信息;部分代码为示意,实际集成需按项目结构调整。