跳到主要内容
前端术语库

表单

Form

UI 组件也叫:表单区域、录入表单、填写表单、Form Item

一句话:把多个输入控件、字段名、校验提示和提交按钮组织在一起,用来收集并提交用户填写的信息。

详细解释

表单是一组输入控件的容器:每一行是一个表单项,由字段名、输入控件(输入框、下拉选择、复选框等)、帮助文字和错误提示组成,底部是「提交」「取消」按钮。字段名可以放在控件上方,适合手机和长表单;也可以放在左侧对齐,适合后台。必填项通常在字段名前加红色星号。

好表单的要点:相关字段分组并加小标题,控件宽度和内容长度匹配,失去焦点时就提示错误,而不是提交后一次性报一堆错,提交中按钮显示加载状态。字段很多时考虑拆成 分步向导。

表单只用于「填写」。只是展示一条记录的信息,比如订单详情,应该用 描述列表 这种纯文字排版,而不是一排排禁用的输入框。

示例

灰度线框示意,只表达结构,不代表具体视觉风格。

怎么跟 AI 说

可以直接贴给 Cursor、Claude Code 等工具,把里面的业务内容换成你自己的。

做一个「新建联系人」表单,字段名放在控件上方:姓名、手机号(必填)、邮箱、分组(下拉选择)、备注(多行文本框)。必填项前加星号,失去焦点时校验并在控件下方显示错误;底部右对齐「取消」「保存」,保存时按钮显示加载中。

结构与适用场景

结构描述

由若干表单项(字段名、输入控件、帮助或错误提示)和底部的操作按钮组成,字段多时按主题分组。

适用场景

  • 新建或编辑一条记录,比如新建联系人、编辑商品信息
  • 注册、下单、提交反馈这类需要用户填写并提交信息的流程
  • 设置页里需要改完多项再统一点保存的配置

不适用场景

  • 只是展示一条记录的详细信息、用户不需要修改时,应该用描述列表
  • 字段有几十个且分成明显几个阶段时,应该拆成分步向导
  • 只改一两个字段并且希望原地修改时,用行内编辑更轻便

常见坏用法

  • 把只读的详情页做成一排排禁用的输入框,灰底灰字难以阅读,还让人以为能改
  • 所有字段一律占满整行,手机号、邮编这类短内容的框也拉得很长
  • 点提交后才一次性报出所有错误,也不滚动到第一个出错的位置

识别特征

  • 纵向排列的多行「字段名 + 输入框」
  • 必填字段名前有星号,部分输入框下方有灰色说明或红色错误提示
  • 底部有一组「提交」「取消」或「保存」按钮

DOM 线索

插件本地识别时匹配的 CSS 选择器(标签、ARIA role、常见组件库 class)。

  • form
  • [role="form"]
  • .ant-form
  • .el-form
  • .arco-form
  • .t-form
  • .n-form