長期更新,記錄一下近期工做中涉及到的內容(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屬性能夠改變可選表單的單選或多選問題。

相關文章
相關標籤/搜索