Skip to content

Commit

Permalink
docs(all): sort api table
Browse files Browse the repository at this point in the history
  • Loading branch information
janryWang committed May 14, 2019
2 parents 724affd + 0209c34 commit 930ce7a
Show file tree
Hide file tree
Showing 21 changed files with 285 additions and 167 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
## 特性

- 🚀 高性能,字段分布式渲染,大大减轻 React 渲染压力
- 🧩 支持 Ant Design/Fusion Next 组件体系
- 💡 支持 Ant Design/Fusion Next 组件体系
- 🎨 JSX 标签化写法/JSON Schema 数据驱动方案无缝迁移过渡
- 🏅 副作用逻辑独立管理,涵盖各种复杂联动校验逻辑
- 🌯 支持各种表单复杂布局方案
Expand Down Expand Up @@ -48,7 +48,7 @@ https://codesandbox.io/s/245o92lnzy

| Online Chat Room | 微信 | 钉钉 |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ---- |
| [gitter.im](https://gitter.im/alibaba-uform/community?source=orgpage) | <img width="200" src="https://img.alicdn.com/tfs/TB14awEUzTpK1RjSZKPXXa3UpXa-620-824.png"/> | <img width="200" src="https://img.alicdn.com/tfs/TB1pHMzUrPpK1RjSZFFXXa5PpXa-620-818.png"/> |
| [gitter.im](https://gitter.im/alibaba-uform/community?source=orgpage) | <img width="200" src="https://img.alicdn.com/tfs/TB1jhm5VNYaK1RjSZFnXXa80pXa-620-824.png"/> | <img width="200" src="https://img.alicdn.com/tfs/TB1pHMzUrPpK1RjSZFFXXa5PpXa-620-818.png"/> |



Expand Down
77 changes: 41 additions & 36 deletions docs/API/Field_React.md
Original file line number Diff line number Diff line change
@@ -1,69 +1,73 @@
# Field

## 介绍

@uform/react 的核心组件,用于描述表单字段

## 依赖

```javascript
import {Field} from '@uform/react'
```

## API
| 属性名称 | 属性描述 | 属性类型 | 默认值 |
| --- | --- | --- | --- |
| type | 字段类型 | Object | |
| name | 字段名称 | Object | {} |
| default | 默认值 | any | |
| enum | 枚举值,配置该值在默认情况下会显示Select形态,指定x-component会显示对应的组件形态 | `Array< String | {label:String,value:any}>` | [] |
| maxItems | 最大条目数,只有在type="array"时可以使用 | Number | |
| minItems | 最小条目数,只有在type="array"时可以使用 | Number | |
| required | 字段是否必填 | Boolean | false |
| x-props | 字段UI组件属性,API请参考对应fusion next/ant design组件API | Object | {} |
| x-rules | 字段校验规则 | Object | Array<String | Object | Function> | String | Function | |
| x-component | 字段UI组件,用于指定该字段应该用什么组件做渲染 | Object | {type:"object",properties:{}} |
| x-index | 字段索引顺序 | Number | |
| x-render | 字段渲染函数 | `Function(fieldProps : FieldRenderProps){}` | |
| x-effect | 副作用事件绑定对象 | `Function(dispatch : Function) : { [eventName](...arguemtns)}` | |
| x-props.editable | 字段是否可编辑 | Boolean | true |

| 属性名称 | 属性描述 | 属性类型 | 默认值 | |
| ---- | ---- | ---- | --- | --- |
| default | 默认值 | any | | |
| enum | 枚举值,配置该值在默认情况下会显示Select形态,指定x-component会显示对应的组件形态 | `Array< String | {label:String,value:any}>` | \[] | |
| maxItems | 最大条目数,只有在type="array"时可以使用 | Number | | |
| minItems | 最小条目数,只有在type="array"时可以使用 | Number | | |
| name | 字段名称 | Object | {} | |
| required | 字段是否必填 | Boolean | false | |
| type | 字段类型 | Object | | |
| x-component | 字段UI组件,用于指定该字段应该用什么组件做渲染 | Object | {type:"object",properties:{}} | |
| x-effect | 副作用事件绑定对象 | `Function(dispatch : Function) : { [eventName](...arguemtns)}` | | |
| x-index | 字段索引顺序 | Number | | |
| x-props | 字段UI组件属性,API请参考对应fusion next/ant design组件API | Object | {} | |
| x-props.editable | 字段是否可编辑 | Boolean | true | |
| x-render | 字段渲染函数 | `Function(fieldProps : FieldRenderProps){}` | | |
| x-rules | 字段校验规则 | `Object | Array<String | Object | Function> | String | Function` | | |

## x-rules详解

校验规则,在uform中有几种校验形态:
* 字符串正则校验,在x-rules中可以通过传字符串或者字符串数组来描述,下面是正则匹配模式

* url 匹配url路径
- 字符串正则校验,在x-rules中可以通过传字符串或者字符串数组来描述,下面是正则匹配模式

* email 匹配邮箱
- url 匹配url路径

* ipv6 匹配ipv6格式
- email 匹配邮箱

* ipv4 匹配ipv4格式
- ipv6 匹配ipv6格式

* number 匹配number格式
- ipv4 匹配ipv4格式

* integer 匹配整型格式
- number 匹配number格式

* qq 匹配qq格式
- integer 匹配整型格式

* phone 匹配手机号码
- qq 匹配qq格式

* idcard 匹配大陆身份证号码
- phone 匹配手机号码

* taodomain 匹配淘系域名
- idcard 匹配大陆身份证号码

* money 匹配货币格式
- taodomain 匹配淘系域名

* zh 匹配中文字符串
- money 匹配货币格式

* date 匹配日期格式
- zh 匹配中文字符串

* zip 匹配邮编
- date 匹配日期格式

* 自定义正则匹配,在x-rules中必须以对象或者数组对象的形式来描述,比如`{pattern:/\d+/,message:""该字段必须为数字}`
- zip 匹配邮编

* 必填型校验,在x-rules中必须以对象或者数组对象的形式来描述,比如`{required:true,message:"该字段必填"}`,message是选填字段,因为默认错误提示文案里已经有了
- 自定义正则匹配,在x-rules中必须以对象或者数组对象的形式来描述,比如`{pattern:/\d+/,message:""该字段必须为数字}`

* 自定义校验,在x-rules中可以通过传函数来描述,下面是该函数的类型描述
- 必填型校验,在x-rules中必须以对象或者数组对象的形式来描述,比如`{required:true,message:"该字段必填"}`,message是选填字段,因为默认错误提示文案里已经有了

- 自定义校验,在x-rules中可以通过传函数来描述,下面是该函数的类型描述

```typescript
type RuleCallback(
Expand All @@ -76,8 +80,8 @@ type RuleCallback(
代表是异步校验,resolve错误文案的时候代表错误响应,resolve为空的时候代表正确响应
```


## x-render详解

上面API List中可以看到x-render函数会接收FieldRenderProps类型的参数,下面是它的具体描述

```typescript
Expand Down Expand Up @@ -112,8 +116,8 @@ type Mutators {
}
```


## x-effect详解

x-effect属于一个非常高级的API,它是为了解决在某些场景,我们的数据联动不是基于字段的onChange事件来做的联动或者依赖onChange事件的其他参数来做的联动,它的解决方案是将dispatch函数给x-effect函数,然后让x-effect函数返回对应的事件处理器,然后再传递给具体的组件,比如:

```javascript
Expand Down Expand Up @@ -152,6 +156,7 @@ const actions = declareFormActions()
```

## 用例

```javascript
import React, { Component } from 'react'
import ReactDOM from 'react-dom'
Expand Down
16 changes: 8 additions & 8 deletions docs/API/FormButtonGroup.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ import { FormButtonGroup } from '@uform/next(antd)'

## API

| 属性名称 | 属性描述 | 属性类型 | 默认值 |
| --------- | -------------------- | -------- | ------ |
| align | 按钮内容的定位 | string | |
| sticky | 是否洗底 | boolean | false |
| style | 大容器样式 | object | {} |
| itemStyle | 按钮组容器样式 | object | {} |
| offset | 按钮组容器左偏移距离 | number | |
| span | 按钮组容器宽度 | number | |
| 属性名称 | 属性描述 | 属性类型 | 默认值 |
| ---- | ---- | ---- | --- |
| align | 按钮内容的定位 | string | |
| itemStyle | 按钮组容器样式 | object | {} |
| offset | 按钮组容器左偏移距离 | number | |
| span | 按钮组容器宽度 | number | |
| sticky | 是否洗底 | boolean | false |
| style | 大容器样式 | object | {} |

## 用例

Expand Down
4 changes: 2 additions & 2 deletions docs/API/FormConsumer.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
# FormConsumer

## 介绍

用于表单的跨组件通讯提交重置状态同步等操作,它主要与FormProvider一起使用

## 依赖

```javascript
import {FormConsumer} from '@uform/react'
```


## API

```typescript
Expand All @@ -24,7 +25,6 @@ import {FormConsumer} from '@uform/react'
</FormConsumer>
```
## 用例
```jsx
Expand Down
12 changes: 6 additions & 6 deletions docs/API/FormItemGrid.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ import { FormItemGrid } from '@uform/next(antd)'

## API

| 属性名称 | 属性描述 | 属性类型 | 默认值 |
| ----------- | ---------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------- |
| gutter | 列间距 | number | 0 |
| cols | 内部网格宽度占比 | `array<string | object>` | 不传值默认等比分割,可传入类似[4, 8]进行不等比分割,如果数组元素传对象,则是`[{span:3,offset:0}]`这样的形式 |
| description | 描述文案 | string/JSX | |
| title | 标题 | string/JSX | |
| 属性名称 | 属性描述 | 属性类型 | 默认值 |
| ---- | ---- | ---- | --- |
| cols | 内部网格宽度占比 | `array<string | object>` | 不传值默认等比分割,可传入类似[4, 8]进行不等比分割,如果数组元素传对象,则是`[{span:3,offset:0}]`这样的形式 |
| description | 描述文案 | string/JSX | |
| gutter | 列间距 | number | 0 |
| title | 标题 | string/JSX | |

## 用例

Expand Down
20 changes: 10 additions & 10 deletions docs/API/FormLayout.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ import { FormLayout } from '@uform/next(antd)'

## API

| 属性名称 | 属性描述 | 属性类型 | 默认值 | 可选值 |
| -------------- | -------------------- | -------- | ------- | ------------------------ |
| labelCol | 标签宽度占比 | number | | |
| wrapperCol | 容器宽度占比 | number | | |
| size | 容器大小 | string | medium | "small"/"medium"/"large" |
| labelAlign | 按钮组容器样式 | object | "left" | "left"/"top" |
| labelTextAlign | 按钮组容器左偏移距离 | number | "right" | "left"/"right" |
| inline | 内部是否采用行内排列 | boolean | false | |
| style | 容器样式 | object | {} | |
| className | 容器自定义类名 | string | "" | |
| 属性名称 | 属性描述 | 属性类型 | 默认值 | 可选值 |
| ---- | ---- | ---- | --- | --- |
| className | 容器自定义类名 | string | "" | |
| inline | 内部是否采用行内排列 | boolean | false | |
| labelAlign | 按钮组容器样式 | object | "left" | "left"/"top" |
| labelCol | 标签宽度占比 | number | | |
| labelTextAlign | 按钮组容器左偏移距离 | number | "right" | "left"/"right" |
| size | 容器大小 | string | medium | "small"/"medium"/"large" |
| style | 容器样式 | object | {} | |
| wrapperCol | 容器宽度占比 | number | | |

## 用例

Expand Down
46 changes: 16 additions & 30 deletions docs/API/FormPath.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# FormPath

## 介绍

专注于解决表单字段的路径匹配问题

## 类型描述
Expand Down Expand Up @@ -28,58 +29,43 @@ type FormPath {
import {FormPath} from '@alife/uform'
```


## Pattern路径匹配语法

**全通配**

```
"*"
```
"*"

**扩展匹配**

```
"aaa~" or "~" or "aaa~.bbb.cc"
```
"aaa~" or "~" or "aaa~.bbb.cc"

**部分通配**

```
"a.b.*.c.*"
```
"a.b.*.c.*"

**分组通配**

```
"a.b.*(aa.bb.dd,cc,mm)"
or
"a.b.*(!aa.bb.dd,cc,mm)"
```
"a.b.*(aa.bb.dd,cc,mm)"
or
"a.b.*(!aa.bb.dd,cc,mm)"

**嵌套分组通配**

```
"a.b.*(aa.bb.*(aa.b,c),cc,mm)"
or
"a.b.*(!aa.bb.*(aa.b,c),cc,mm)"
```
"a.b.*(aa.bb.*(aa.b,c),cc,mm)"
or
"a.b.*(!aa.bb.*(aa.b,c),cc,mm)"

**范围通配**

```
"a.b.*[10:100]"
or
"a.b.*[10:]"
or
"a.b.*[:100]"
```
"a.b.*[10:100]"
or
"a.b.*[10:]"
or
"a.b.*[:100]"

**关键字通配**

```
"a.b.[[cc.uu()sss*\\[1222\\]]]"
```
"a.b.[[cc.uu()sss*\\[1222\\]]]"

## 用例

Expand Down
5 changes: 3 additions & 2 deletions docs/API/FormProvider.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# FormProvider

## 介绍
用于表单的跨组件通讯提交重置状态同步等操作,它主要与FormConsumer一起使用

用于表单的跨组件通讯提交重置状态同步等操作,它主要与FormConsumer一起使用

## 依赖

```javascript
import {FormProvider} from '@uform/react'
```
Expand Down Expand Up @@ -38,4 +39,4 @@ ReactDOM.render(
</FormConsumer>
</FormProvider>
,document.getElementById)
```
```
4 changes: 1 addition & 3 deletions docs/API/FormSlot.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@

## 依赖

```
import {FormLayout} from '@uform/next(antd)'
```
import {FormLayout} from '@uform/next(antd)'

## API

Expand Down
Loading

0 comments on commit 930ce7a

Please sign in to comment.