ant-design自定義表單組件回傳值的問題

ant-design給我們提供了Form表單組件,但是由于排版,由于功能等原因,我們會需要自定義表單組件;但是原有的表單取值和驗證使用保持不變。
ant-design表單組件我主要使用getFieldDecorator方法。
下面是父組件的表單,引用了一個自定義的表單組件OptionSelect,子組件里面可能數(shù)據(jù)格式或者數(shù)據(jù)個數(shù)不一樣。

<FormItem label="選項">
       getFieldDecorator('option', {
              initialValue: [defaultValue.option || '0', defaultValue.word]
         })(
                <OptionSelect/>
         )}
</FormItem>

父組件使用getFieldDecorator最后可以取到option選項的值,但是這是一個值,他怎么和子組件的關聯(lián)?
子組件props:

render() {
  const {value} = this.props;
  return(
      <div>
          <Select value={value[0]} onChange={this.selectChange}>
            //...
        </Select>
        <Input  value={value[1]} onChange={this.inputChange}/>
    </div>
  )
}
selectChange(val) {
    const {onChange} = this.props;
    //通知父組件更新
    //封裝數(shù)據(jù)傳參
    let changeVal;
    //...
    onChange(changeVal)
}
inputChange(e) {
  const {onChange} = this.props;
}
OptionSelect.propTypes = {
    value: PropTypes.array,
    onChange: PropTypes.func
};

getFieldDecorator這個方法會向組件注入value參數(shù),onChange方法。子組件通過value參數(shù)來初始化值,通過onChange方法通知父組件更新。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,063評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 原文地址:React.js Forms: Controlled Components 原文作者:Loren Ste...
    iKcamp閱讀 903評論 0 5
  • 我們一路聊著雨中的花,雨中的草,水中的小雨滴,石板縫里的苔蘚。這一刻忽然好留戀為數(shù)不多無憂無慮的學前時光!
    狗狗寶貝家閱讀 446評論 0 0
  • Android中常常使用shape來定義控件的一些顯示屬性,今天看了一些shape的使用,對shape有了大體的了...
    Stan_Z閱讀 561評論 0 6

友情鏈接更多精彩內容