DvaJs
dispatch
在 dva 中,connect Model 的组件通过 props 可以访问到 dispatch,
可以调用 Model 中的 Reducer 或者 Effects,常见的形式如:
dispatch({
type: 'user/add', // 如果在 model 外调用,需要添加 namespace
payload: {}, // 需要传递的信息
});
可以通过类似this.props.dispatch({
type: 'siteConfig/eff_getMutantGene', // siteConfig为modal文件夹名,eff_getMutantGene为Effects方法。
payload: {itemId: item[i].itemid}
})
调用Model中的Reducer或者Effects。
connect
如果要发起一个 action 需要使用 dispatch 函数;
需要注意的是 dispatch 是在组件 connect Models以后,
通过 props 传入的。
Ant Design
<From.Item />
表单域
表单一定会包含表单域,表单域可以是输入控件,
标准表单域,标签,下拉菜单,文本域等。
这里我们封装了表单域 <Form.Item /> 。
<Form.Item {...props}>{children}</Form.Item>
getPopupContainer
getPopupContainer菜单渲染父节点。默认渲染到 body 上,
如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位。
如果发现下拉菜单跟随页面滚动,
或者需要在其他弹层中触发 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 属性
带有勾选框的Table
Table的rowSelection的type属性可以改变可选表单的单选或多选问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。