表单设计
本文档描述表单设计页面的数据结构,即发布时 formDesign 部分的内容。
json
{
"formItems": [
{
"id": "field_001",
"type": "input",
"label": "请假原因",
"placeholder": "请输入",
"required": true,
"defaultValue": ""
},
{
"id": "field_002",
"type": "daterange",
"label": "请假时间",
"startLabel": "开始时间",
"endLabel": "结束时间",
"dateType": "date",
"required": true
}
]
}formItems 数组
formItems 是表单项的一维数组,每个元素代表一个表单字段。字段结构因 type 不同而有所差异。
通用字段(所有组件共有):
| 字段 | 类型 | 说明 |
|---|---|---|
id | String | 字段唯一标识,前端自动生成 |
type | String | 组件类型,见下方各组件特有字段表 |
label | String | 字段标签 |
required | Boolean | 是否必填 |
各组件特有字段:
| 组件类型 | 名称 | 特有字段 | 说明 |
|---|---|---|---|
columns | 分栏容器 | children、layoutValue | 子组件数组、布局比例(如 1:1、1:2) |
input | 单行文本 | placeholder、defaultValue | 占位提示、默认值(字符串) |
textarea | 多行文本 | placeholder、defaultValue | 占位提示、默认值(字符串) |
number | 数字输入框 | placeholder、defaultValue、min、max、precision | 占位提示、默认值、最小值、最大值、小数位数限制 |
text | 说明文字 | content | 说明文字内容 |
radio | 单选框 | placeholder、options、defaultValue、optionTile | 占位提示、选项列表、默认选中值、是否选项平铺 |
checkbox | 多选框 | placeholder、options、defaultValue、optionTile | 占位提示、选项列表、默认选中值数组、是否选项平铺 |
date | 日期选择 | placeholder、dateType、defaultValue | 占位提示、日期类型(如 date)、默认值 |
daterange | 日期区间 | startLabel、endLabel、dateType、placeholder | 起始/结束标签、日期类型、占位提示 |
idcard | 身份证 | placeholder | 占位提示 |
phone | 手机号 | placeholder | 占位提示 |
upload | 文件上传 | 无额外字段 | — |
image | 图片上传 | 无额外字段 | — |