Guest User

Untitled

a guest
Jan 17th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.29 KB | None | 0 0
  1. ### formCreator API
  2.  
  3. 使用方式:
  4.  
  5. ```js
  6. class CustomizedFormDemo extends React.Component {
  7. // ...
  8. }
  9. const CustomizedForm = formCreator(defaultValues, rules, options)(CustomizedFormDemo);
  10. ```
  11.  
  12. | 参数 | 说明 | 类型(PropTypes)/可选值 | Required | 默认值 |
  13. | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | -------- | ------ |
  14. | defaultValues | 表单默认值 | Object | - | {} |
  15. | rules | 校验规则 | Object | - | {} |
  16. | options | 其他配置 `options.first`: 遇到失败了的校验规则后停止校验; `options.cover`: 在上次校验还未完成时新的校验会中止之前的校验; `options.parallel`: 每一个表单域会同时执行所有校验函数(Promise.all)而非顺序执行 | Object | - | - |
  17.  
  18. > ️⚠️ 注意 ️: 请不要使用输入组件的`value`、`defaultValue`等属性而是使用 formCreator 的`defaultValues`设置默认值。如果输入组件内部使用了 `defaultProps` 设置默认值,应将 defaultValues 对应属性的值与之保持一致,否则会影响 isInitialized 值的准确性。
  19.  
  20. #### 被 formCreator 包装的组件将会获得以下属性,可以使用`this.props`访问
  21.  
  22. | 参数 | 说明 | 类型/可选值 | 默认值 |
  23. | --------------- | ----------------------------------------------- | ----------- | ------ |
  24. | formValues | 表单当前值 | Object | {} |
  25. | formErrors | 表单当前错误信息 | Object | {} |
  26. | isValidating | 是否正在校验 | Boolean | false |
  27. | isValid | 表单校验是否通过 | Boolean | true |
  28. | isInitialized | 表单是否是初始状态 | Boolean | true |
  29. | updateItemData | 设置某一表单项的值 function(name, value) | Function | - |
  30. | updateItemsData | 批量表单项的值 function(values: Object) | Function | - |
  31. | validateOne | 校验某一表单项的值 function(name) => Promise | Function | - |
  32. | validateAll | 校验所有表单项的值 function() => Promise | Function | - |
  33. | submit | 提交表单 function(onSuccess, onFail) => Promise | Function | - |
  34. | initialize | 初始化表单 | Function | - |
  35.  
  36. #### 校验规则
  37.  
  38. 校验规则通过属性名与对应值匹配。如果校验对象某一属性值为数组,将按顺序执行所有数组内校验规则,
  39.  
  40. | 参数 | 说明 | 类型/可选值 |
  41. | --------- | ----------------------------------------------------------------------------------------- | ----------- |
  42. | validator | 校验函数。 if(返回结果 == true)时,校验通过,否则失败。function(value) => isValid:Boolean | func |
  43. | message | 校验失败的提示信息 function(value, resultOfValidator) => message:String | String/Func |
  44.  
  45. > ⚠️ 注意: 同步校验函数在内部将会被转为异步执行。
  46.  
  47. <!-- react-component-api -->
  48.  
  49. ### FormItem API
  50. FormItem与校验函数无关,只负责表单样式。
  51.  
  52. | 参数 | 说明 | 类型(PropTypes)/ 可选值 | Required | 默认值 |
  53. | --------- | -------- | ------------------------- | -------- | ------- |
  54. |disabled | 是否禁用 | Boolean | - | <span class="boolean">false</span>|
  55. |errorIcon | 校验失败状态icon | Node | - | <p><Icon&nbsp;type="cancel-o"&nbsp;/></p>|
  56. |extraInfo | 附加信息,当需要错误信息和提示文案同时出现时使用 | String | - | -|
  57. |helperText | 提示文本 | ArrayOf / String | - | <span class="object">[]</span>|
  58. |helperTextProps | helperText 属性 | Object | - | <p>{}</p>|
  59. |helperTextRender | 提示文本渲染函数 function(text) => textNode: reactNode | Function | - | -|
  60. |initialIcon | 初始状态icon | Node | - | -|
  61. |inline | 是否为行内布局 | Boolean | - | -|
  62. |inputId | input元素Id | String | - | -|
  63. |inputLayout | 表单项内容布局,同 Col 组件,设置 span offset 值,如 {span: 3, offset: 12} | Object | - | <p>{}</p>|
  64. |label | label 标签的文本 | Node | - | -|
  65. |labelLayout | label布局,同 Col 组件,设置 span offset 值,如 {span: 3, offset: 12} | Object | - | <p>{</p><p>&nbsp;&nbsp;&nbsp;&nbsp;size:&nbsp;8,</p><p>}</p>|
  66. |name | 表单项唯一表识,与formData, errorMsg, formValidatingStatus对应项关联 | String | - | -|
  67. |showStatusIcon | 是否显示状态icon | Boolean | - | <span class="boolean">true</span>|
  68. |size | 表单项尺寸 | 'small' / 'medium' / 'large' | - | <span class="string">'medium'</span>|
  69. |statusIconLayout | 状态icon布局,同 Col 组件,设置 span offset 值,如 {span: 3, offset: 12} | Object | - | <p>{</p><p>&nbsp;&nbsp;&nbsp;&nbsp;size:&nbsp;4,</p><p>}</p>|
  70. |successIcon | 校验通过状态icon | Node | - | <p><Icon&nbsp;type="ok-o"&nbsp;/></p>|
  71. |validateStatus | 表单项校验结果状态 | 'initial' / 'success' / 'error' | - | <span class="string">'initial'</span>|
  72. |validating | 表单项师傅校验中 | Boolean | - | <span class="boolean">false</span>|
  73. |validatingIcon | 校验中状态icon | Node | - | <p><Icon&nbsp;type="spin4"&nbsp;spin&nbsp;/></p>|
  74.  
  75.  
  76.  
  77.  
  78. ### ValidationField API
  79. ValidationField是基于FormItem组件对校验逻辑的封装,下表未列出的属性将会传递给FormItem。
  80.  
  81. | 参数 | 说明 | 类型(PropTypes)/ 可选值 | Required | 默认值 |
  82. | --------- | -------- | ------------------------- | -------- | ------- |
  83. |debouncedChildren | - | - | - | ['NeatUI.Input', 'NeatUI.AutoSuggest']|
  84. |disabled | 是否禁用 | Boolean | - | <span class="boolean">false</span>|
  85. |inputId | input元素Id | String | - | -|
  86. |label | label 标签的文本 | Node | - | -|
  87. |name | 表单项唯一表识,与formData, errorMsg, formValidatingStatus对应属性关联 | String | true | -|
  88. |onChange | 表单项值变化时触发 | Function | - | -|
  89. |onValidate | 表单项值校验完成时触发 | Function | - | -|
  90. |size | 表单项尺寸 | 'small' / 'medium' / 'large' | - | <span class="string">'medium'</span>|
  91. |validateTrigger | 子节点的触发校验的属性,如 Input 可以设置为 'onBlur' | String | - | <span class="string">'onChange'</span>|
  92. |valuePropName | 子节点的值的属性,如 Datapicker 的是 'defaultValue' | String | - | <span class="string">'value'</span>|
Add Comment
Please, Sign In to add comment