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屬性能夠改變可選表單的單選或多選問題。