0.1.9 • Published 2 years ago

next-formx v0.1.9

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

next-formx

根据配置数据生成Form

API

Form

参数说明类型默认值
groupNumber每行分组数量number1
formItemsformItem配置FormItem[]

FormItem

更多参数配置,参考antd formItem配置

参数说明类型默认值
type类型FormItemTypesinput
ghost是否隐藏string boolean
required是否必填string boolean
options组件配置项,具体字段参考对应组件的配置object

FormItemTypes

属性说明配置项
INPUTinput输入框查看
SWITCHswitch切换查看
SELECTselect下拉框参考Select api
NUMBERnumber数字输入框参考Number api
DATE_PICKERdatePicker日期选择查看
RANGE_PICKERrangePicker日期范围选择查看
CHECKBOX_GROUPcheckboxGroup多选查看

Number

基于antd input-number封装,支持金额格式化、整数限制。更多API 请参考antd InputNumber

参数说明类型默认值
isAmount金额formatboolean
isInteger整数限制,为true时只允许输入整数boolean

Select

基于antd select封装,支持传入url获取数据。更多API 请参考antd Select

参数说明类型默认值
url获取数据urlstring
cacheKey缓存key,需全局唯一,只获取一次数据booleanfalse
query查询参数object
extra客户扩展数据,被form嵌套下参数才生效string[]
fieldNameslabel value显示的字段{ label: string; value: string }{ label: 'label', value: 'value' }

示例

formItems配置项示例

import { FormItemTypes } from 'next-formx';

const formItems = [
  {
    name: 'uNm'
  },
  {
    name: 'age',
    type: FormItemTypes.NUMBER,
    required: '!!${uNm}', // 根据uNm 控制是否必填
    options: { // options 组件配置项
      isInteger: true
    }
  },
  {
    name: 'child',
    type: FormItemTypes.SELECT,
    options: {
      url: '/api/getUsers',
      query: '{"where":{"partner":${uNm}}}', // 基于其他字段动态生成query
      extra: ['sex','cunm=childName'] // 扩展出sex,childName并重命为cunm
    }
  }
]