diff --git a/docs/dev.md b/docs/dev.md index f58c6393..34f25a23 100644 --- a/docs/dev.md +++ b/docs/dev.md @@ -63,11 +63,18 @@ export default class CustomCheckbox extends React.Component { 表单项开发主要关心两件事。 -1. 呈现当前值。如以上例子,勾选了则显示`已勾选`,否则显示`请勾选`。 -2. 接收用户交互,修改表单项值。如以上例子,当用户点击按钮时,切换当前选中的值。 +1. 呈现当前值。如以上例子,通过 `this.props.value` 判定如果勾选了则显示`已勾选`,否则显示`请勾选`。 +2. 接收用户交互,通过 `this.props.onChange` 修改表单项值。如以上例子,当用户点击按钮时,切换当前选中的值。 至于其他功能如:label/description 的展示、表单验证功能、表单布局(常规、左右或者内联)等等,只要是通过 FormItem 注册进去的都无需自己实现。 +需要注意,获取或者修改的是什么值跟配置中 `type` 并列的 `name` 属性有关,也就是说直接关联某个变量,自定义中直接通过 props 下发了某个指定变量的值和修改的方法。如果你想获取其他数据,或者设置其他数据可以看下以下说明: + +* `获取其他数据` 可以通过 `this.props.data` 查看,作用域中所有的数据都在这了。 +* `设置其他数据` 可以通过 `this.props.onBulkChange`, 比如: `this.props.onBulkChange({a: 1, b: 2})` 等于同时设置了两个值。当做数据填充的时候,这个方法很有用。 + + + #### 自定义验证器 如果 amis [自带的验证](./renderers/Form/FormItem.md#)能满足需求了,则不需要关心。组件可以有自己的验证逻辑。