# 控件类型列表
type='text'
文本框type='textarea'
文本域type='number'
Html5 原生数字框type='input-number'
ElementUI 数字框type='select'
下拉框type='daterange' / 'monthrange' / 'datetimerange'
日期/时间 区间type='time-select'
时间选择器 - 固定时间type='time-picker'
时间选择器 - 任意时间type='date' / 'week' / 'month' / 'year' / 'datetime' / 'years' / 'dates' / 'months'
type='radio'
单选框type='radio-button'/'radio-button-group'
单选框组type='switch'
开关组件type='checkbox'
复选框,组件会根据 options 字段自动判断是否使用复选框组type='cascader'
级联框type='transfer'
穿梭框type='upload'
上传框type='link'
文字链接,类似于a标签type='button'
按钮组件type='label'
文本组件
# 自定义参数
参数 | 说明 | 类型 | 可选值 | 默认值 | 适用控件 |
---|---|---|---|---|---|
type | 支持大部分组件 | String | 参考上文 | 无 | 参考上文 |
label | 表单项的label文本标签 | String | 无 | 无 | 适用于表单项 |
model | 表单字段 | String | 无 | 无 | 适用于可改变表单数据的控件 |
change | 自定义事件 | Function(currentVal,formData,field,json) | 无 | 无 | 适用于可改变表单数据的控件 |
show | 是否显示此字段 | Function(formData):Boolean | 无 | 无 | 适用于agilityForm组件 |
asyncOptions | 下拉框独有,可以拉取接口 | Function():Array | 无 | 无 | 适用于含有options属性的控件 |
每个表单都支持 change 事件,用来处理自定义业务。
# Input 组件
Copy
prepend 只支持 字符串,不支持配置组件。
# Select 组件
Copy
field 为字段映射,下拉框默认使用 label 和 value 渲染,如果接口返回的不是 label 和 value,可以使用 field 进行转换,非常便捷。
Copy
下拉框动态赋值可以使用 asyncOptions 函数直接调用接口进行返回,或者使用 this.form[0].options 动态赋值,还支持通过$拼接字段的方式快捷赋值。 注意:rocket-form跟agilitySearchForm结构不太一致,所以rocket-form中使用this.json.formList.$userStatus.options 的方式赋值或者取值。
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
filterable | 是否过滤 | Boolean | true/false | true |
clearable | 是否清楚 | Boolean | true/false | true |
field | 结构映射 | Object | 无 | {label:'label',value:'value'} |
asyncOptions | 动态加载下拉框数据 | Function | Function:Array | 无 |
# TimeSelect时间选择器
Copy
# link 组件
Copy
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
type | 控件类型 | String | link | 无 |
link | 与el-link属性相同 | Object | { type:'primary',href:'xxx',target:'_blank' } | 无 |
# Date 组件
Copy
# 参数说明:
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
type | 日期类型 | String | date /daterange /datetime /datetimerange /year /week /month /dates /years /weeks /months | 无 |
shortcuts | 日期快捷键 | Boolean | true | false | 无 |
export | 导出字段 | Array | 无 | [startTime,endTime] |
日期类型(值类型为字符串):'date', 'week', 'month', 'year', 'years','dates','months', 'datetime'
日期区间(值类型为数组):'daterange', 'monthrange', 'datetimerange'
对于范围组件'daterange', 'monthrange', 'datetimerange',为了方便前端传参,可通过指定 export 来导出字段名称,因为范围组件只有一个 v-model 值,往往后端需要拆解为两个字段,比如 dateTime=['2021-01-01','2021-12-01'],拆解为:startTime='2021-01-01',endTime='2021-12-01';默认为 startTime,endTime,可手动设置。
# Checkbox 组件
Copy
# 参数说明:
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
type | 单选类型 | String | checkbox | 无 |
options[label] | 显示文本 | String | 无 | 无 |
options[value] | 表单域值 | String | Number | 无 |
# label 组件
Copy
# 参数说明:
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
type | 控件类型 | String | label | 无 |
style | 自定义样式 | Object | Object | 无 |
text | 文本内容 | String | 无 | 无 |
# Switch 组件
Copy
# Radio 组件
Copy
# Cascader 组件
Copy