0.2.6 • Published 1 year ago

@tawa/mario-form v0.2.6

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

title: Form 表单 nav: title: 组件 path: /components order: 1 group: title: ' ' path: /form

order: 10

Form 表单

可配置表单控件。

使用

import Form from '@tawa/mario-form';

const fields = [
  {
    key: 'key1',
    name: 'key1',
  },
];

<Form fields={fields} />;

代码演示

基本用法

固定宽度布局

输入框组合

自定义类型

API

参数说明类型默认值
fields表单元素字段配置FormField[]-
nextFields动态修改 fields 中渲染节点的属性FormField[]-
labelWidthFormItem label 宽度,当设置此属性时, labelCol属性将失效string | number-
fieldCol表单元素布局,同 <Col> 组件,设置 span offset 值,如 {span: 3, offset: 12} 或 sm: {span: 3, offset: 12}。 此属性在 layout 为horizontal时有效object-
fieldTypes自定义渲染类型object-
placeholderPrefix表单元素 placeholder 生成规则,可覆盖内置规则。内置规则见object-

其他属性见 antd Form

FormField

参数说明类型默认值
key字段名,支持数组NamePath-
namelabel 标签的文本ReactNode-
type渲染类型stringinput
valueType格式化返回值。传入getValueFromEvent后该属性将失效。详细说明见下'array' | 'empty' | 'unknown'-
props组件属性,透传给对应 type 的组件。object | (value: any, currValues: any) => object-
visible控制表单元素是否显示(不会收集值和校验)。同时保留hidden属性(会收集值和校验),visible 属性优先级最高。boolean | (value: any, currValues: any) => boolean-
labelWidth同 Form labelWidthstring |number-
fieldCol同 Form fieldColobject-
message配置校验规则 required 的提示信息, 默认使用 placeholderstring-
render渲染函数。优先级高于type, props 参数需要传递给返回的组件, 形如render: (props: any) => <CustomedInput {...props} />(props) => ReactNode-

其他属性见 antd Form.Item

ValueType

手动转化表单返回值,仅在使用 form.getFieldsValue()生效。

类型说明
array将非undefined, null的值转化为数组
emptyundefined, null转化为''
unknownundefined, null转化为UNKNOWN

Field

type 来自内置或自定义类型。其他属性为其对应的组件 props(透传给组件)

import Form from '@tawa/mario-form';

<Form.Field type="number" placeholder="请输入" />;

placeholder 生成规则

规则结果
input 结尾请输入
numbertextarea请输入
select 结尾请选择
checkboxradiocascader请选择
upload请选择

默认类型

type说明对应组件
input文本输入框Input
number数字输入框InputNumber
select下拉选择器Select
datepicker日期选择器DatePicker
cascader级联选择器Cascader
tree-select树选择器TreeSelect
upload上传Upload