# 表单参数列表
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| formAttrs | 表单项属性(详情见表单项参数列表) | Arrary | [] | --- |
| formInfo | 编辑实体 | Object | {} | --- |
| title | 表单标题 | String | 新增 | String |
| isreadonly | 是否禁用表单 | Boolean | false | --- |
| width | 表单宽度 | Number | 780 | --- |
| labelWidth | 表单项标题宽度 | Number | 120 | --- |
| itemWidth | 表单项宽度 | Number | 320 | --- |
| fullscreen | 全屏 | Boolean | false | --- |
| showFooter | 是否显示底部操作按钮 | Boolean | true | --- |
| center | 底部操作按钮是否居中 | String | center | center,left,right |
| showCommitBtn | 是否显示提交按钮 | Boolean | true | --- |
| showCancelBtn | 是否显示取消按钮 | Boolean | true | --- |
| commitText | 提交按钮文本 | String | 提交 | --- |
| cancelText | 取消按钮文本 | String | 取消 | --- |
# 表单项参数列表
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| title | 表单项标题 | String | --- |
| key | 表单项绑定值 key | String | --- |
| val | 表单项的值 | any | any |
| change | 表单项值改变触发事件 | Function(data)参数是表单数据 | undefined |
| ------- | 表单项默认类型是 text 类型,input 输入框 | ----- | ---- |
| number | 数字输入框 | Boolean | undefined |
| password | 文本输入框有效,设置后变成密码框 | Boolean | undefined |
| prefix | 文本输入框或数字输入框的前缀 | String | undefined |
| suffix | 文本输入框或数字输入框的后缀,如果设置为 true,显示默认的三个点 | Boolean,String | undefined |
| click | suffix 单击后缀执行事件 | Function(data)参数是表单数据 | undefined |
| date | 日期输入框 | Boolean | undefined |
| time | 时间输入框 | Boolean | undefined |
| dicts | 选择框初始值。格式[{label:title,value:val}] | Array | [] |
| query | 选择框查询方法,执行 callBack 方法赋值给 dicts | Function(words,callBack) | undefined |
| area | 多行方本框 | Boolean | undefined |
| radio | 单选框 | Array | [] |
| checkbox | 多选框 | Array | [] |
| labels | 单选框和多选框有效,显示单选框和多选框字段,和 values 数组长度等长 | Array | [] |
| switch | 开关 | Boolean | undefined |
| trueColor | 开关有效,选中时背景色 | String | #13ce66 |
| falseColor | 开关有效,未选中时背景色 | String | #ff4949` |
| switchWidth | 开关有效,开关长度 | number | --- |
# 表单 Events
| 事件名称 | 说明 | 回调参数 |
|---|---|---|
| saveData | 保存表单数据 | form 对象数据 |
| close | 关闭表单窗体执行事件 | --- |
# validate
| 校验规则 | 说明 | 值 |
|---|---|---|
| required | 不能为空 | true,false |
| 邮箱格式 | true,false | |
| max | 最大长度 | number |
| validate | 自定义验证 | function(rule, value, callback) |
# 表单自定义验证示例
formAttrs: [
{
key: "name",
title: "姓名",
val: "",
required: true, //必填
//自定义验证
validate: (rule, value, callback) => {
if (value === "fail") {
callback(new Error("测试错误!"));
} else {
callback();
}
},
},
{ key: "age", title: "年龄", val: "18", number: true }, //数字
{ key: "company", title: "公司", val: "", max: 10 }, //最大长度
{
key: "url",
title: "日期",
val: "",
date: true, //日期
width: 650,
},
];
# 表单 slot 重写
# 表单项各项都可以用插槽重写,slot name=item.key
<g-add-form :formAttrs="currdata" height="calc(100vh - 100px)">
<div slot="name">这里可以放任何HTML</div>
<div slot="age">这里替换编辑控件</div>
</g-add-form>
| name | 说明 |
|---|---|
| add-title | 重写弹窗标题 |
| add-footer | 重写弹窗 footer |
← 表格