DvaJs函数
dispatch
在 dva 中,connect Model 的组件经过 props 能够访问到 dispatch,
能够调用 Model 中的 Reducer 或者 Effects,常见的形式如:this
dispatch({
type: 'user/add', // 若是在 model 外调用,须要添加 namespace
payload: {}, // 须要传递的信息
});spa
能够经过相似this.props.dispatch({
type: 'siteConfig/eff_getMutantGene', // siteConfig为modal文件夹名,eff_getMutantGene为Effects方法。
payload: {itemId: item[i].itemid}
})
调用Model中的Reducer或者Effects。code
connect
若是要发起一个 action 须要使用 dispatch 函数;
须要注意的是 dispatch 是在组件 connect Models之后,
经过 props 传入的。orm
Ant Design事件
<From.Item />
表单域
表单必定会包含表单域,表单域能够是输入控件,
标准表单域,标签,下拉菜单,文本域等。get
这里咱们封装了表单域 <Form.Item /> 。同步
<Form.Item {...props}>{children}</Form.Item>it
getPopupContainer
getPopupContainer菜单渲染父节点。默认渲染到 body 上,
若是你遇到菜单滚动定位问题,试试修改成滚动的区域,并相对其定位。io
若是发现下拉菜单跟随页面滚动, 或者须要在其余弹层中触发 Select, 请尝试使用 getPopupContainer={triggerNode => triggerNode.parentNode}* 将下拉弹层渲染节点固定在触发器的父元素中。
getFieldDecorator.1
通过 getFieldDecorator 包装的控件,表单控件会自动添加 value(或
valuePropName 指定的其余属性) onChange(或 trigger 指定的其余属性),
数据同步将被 Form 接管,这会致使如下结果:
你再也不须要也不该该用 onChange 来作同步,但仍是能够继续监听 onChange 等事件。 你不能用控件的 value defaultValue 等属性来设置表单域的值,
默认值能够用 getFieldDecorator 里的 initialValue。
你不该该用 setState,可使用 this.props.form.setFieldsValue 来动态改变表单值。
getFieldDecorator.2
const { getFieldDecorator, getFieldValue } = this.props.form
须要用到getFieldDecorator 等方法时须要用到this.prop.form。还须要在末尾加上Form.create
通过 Form.create 包装的组件将会自带 this.props.form 属性,
注意:使用 getFieldsValue getFieldValue setFieldsValue 等时,
应确保对应的 field 已经用 getFieldDecorator 注册过了。
resetFields
resetFields重置一组输入控件的值(为 initialValue)与状态,
如不传入参数,则重置全部组件
Form.create()
经 Form.create() 包装过的组件会自带 this.props.form 属性
带有勾选框的TableTable的rowSelection的type属性能够改变可选表单的单选或多选问题。