Antd如何接收Form組件的函數(shù)<此功能僅限Antd v3版本以下>

1. 在React項(xiàng)目中鞭达,我們需要在Modal對(duì)話框中展示一個(gè)form表單的功能司忱,此時(shí)我們要拿到封裝的form函數(shù)和輸入的value值?那么我們要分為幾步做畴蹭!

1.1 假設(shè)我們封裝了from表單<暫時(shí)命名為:AddUpdateForm>

   注:傳遞form函數(shù)時(shí)必須在子組件中聲明類型坦仍,PropTypes 提供一系列驗(yàn)證器,可用于確保組件接收到的數(shù)據(jù)類型是有效的叨襟。當(dāng)傳入的 prop 值類型不正確時(shí)繁扎,JavaScript 控制臺(tái)將會(huì)顯示警告。出于性能方面的考慮
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import {
  Form,
  Input
} from 'antd'
const Item = Form.Item
class AddUpdateForm extends Component {
*注:傳遞form函數(shù)時(shí)必須在子組件中聲明類型
static propTypes = {
    setForm: PropTypes.func.isRequired,
    categoryName: PropTypes.string,
  }
/* 
添加/修改分類的Form組件
*/
  render() {
    const { getFieldDecorator } = this.props.form
    const { categoryName } = this.props
    return (
      <Form>
        <Item>
          {
            getFieldDecorator('categoryName', {
              initialValue: categoryName || '',
              rules: [
                {required: true, message: '分類名稱必須輸入'}
              ]
            })(
              <Input type="text" placeholder="請(qǐng)輸入分類名稱"></Input>
            )
          }
        </Item>
      </Form>
    )
  }
}

export default Form.create()(AddUpdateForm)

*1.2:在父組件頁(yè)面中引入form子組件后需要設(shè)置一個(gè)函數(shù)名來(lái)接收函數(shù)<函數(shù)名: setForm={form=>this.form=form}>

*1.2.1:注 > 對(duì)象體中是將獲取的子組件中的form對(duì)象賦值傳給父組件的form中
import React, { Component } from 'react'
import {
  Card, 
  Table,
  Modal
} from 'antd'
import AddUpdateForm from './add-update-form'
export default class Category extends Component {
  /* 
    點(diǎn)擊確定的回調(diào): 去添加/修改分類
  */
  handleOk = () => {
    // 進(jìn)行表單驗(yàn)證
    this.form.validateFields(async (err, values) => {
      if (!err) {
        // 驗(yàn)證通過(guò)后, 得到輸入數(shù)據(jù)
        const { categoryName } = values
        const {showStatus} = this.state
        this.form.resetFields() // 重置輸入數(shù)據(jù)(變成了初始值)
        // 根據(jù)響應(yīng)結(jié)果, 做不同處理
      }
    })
  }
  render() {
    return (
      <Card extra={extra}>
        <Table />
        <Modal>
          <AddUpdateForm setForm={form => this.form = form} categoryName={category.name}/>
        </Modal>
      </Card>
    )
  }
}

此時(shí)就可以直接調(diào)用this.form獲取子組件中的輸入值函數(shù)方法
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市梳玫,隨后出現(xiàn)的幾起案子爹梁,更是在濱河造成了極大的恐慌,老刑警劉巖提澎,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姚垃,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡盼忌,警方通過(guò)查閱死者的電腦和手機(jī)积糯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)谦纱,“玉大人看成,你說(shuō)我怎么就攤上這事】缂危” “怎么了川慌?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)偿荷。 經(jīng)常有香客問(wèn)我窘游,道長(zhǎng),這世上最難降的妖魔是什么跳纳? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任忍饰,我火速辦了婚禮,結(jié)果婚禮上寺庄,老公的妹妹穿的比我還像新娘艾蓝。我一直安慰自己,他們只是感情好斗塘,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布赢织。 她就那樣靜靜地躺著,像睡著了一般馍盟。 火紅的嫁衣襯著肌膚如雪于置。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天贞岭,我揣著相機(jī)與錄音八毯,去河邊找鬼。 笑死瞄桨,一個(gè)胖子當(dāng)著我的面吹牛话速,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播芯侥,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼泊交,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼乳讥!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起廓俭,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤云石,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后白指,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體留晚,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年告嘲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了错维。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡橄唬,死狀恐怖赋焕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仰楚,我是刑警寧澤隆判,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站僧界,受9級(jí)特大地震影響侨嘀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜捂襟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一咬腕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧葬荷,春花似錦涨共、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至扒吁,卻和暖如春火鼻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背雕崩。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工魁索, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晨逝。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像懦铺,于是被迫代替她去往敵國(guó)和親捉貌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345