长期更新,记录一下近期工做中涉及到的内容(DvaJs Ant Design)

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属性能够改变可选表单的单选或多选问题。

相关文章
相关标签/搜索