react 表單編輯(修改)

前言:很多人在react項(xiàng)目中會使用到ant design的UI組件,雖然功能強(qiáng)大,但是樣式修改起來十分費(fèi)勁,像簡單的form表單input輸入校驗(yàn)提交,用ant實(shí)在大材小用。

功能需求:input輸入框中有些有默認(rèn)值,但是只有點(diǎn)提交的時候才會儲存修改的值。

1.首先肯定得設(shè)置this.state,獲取組件傳遞的默認(rèn)值,后面有一個布爾值是模擬真實(shí)場景可能存在的情況,也是后面save函數(shù)的值不從this.state傳遞,而是從localValue傳遞的原因。構(gòu)造函數(shù)中給事件綁定this(this.changeInputValue.bind(this)),對不懂es6箭頭函數(shù)的同學(xué)是一個較好的方式。

2.form表單dom結(jié)構(gòu)的編寫,在react中如果有默認(rèn)值并且可修改,必須牢記使用defaultValue,而不是value,value不可以修改。對于一行較多事件或樣式的標(biāo)簽,推薦以下寫法。下圖主要作用是設(shè)置默認(rèn)值,綁定事件,然后使用name做關(guān)聯(lián)。

3.新增定義一個全局變量,類似本地緩存的數(shù)據(jù),做一個數(shù)據(jù)間的橋接。因?yàn)榻M件內(nèi)部函數(shù)需求讀取,所以設(shè)置的默認(rèn)值都為空。


4.事件方法,e.target就是當(dāng)前的input框以及內(nèi)容,感興趣的同學(xué)可以打印e,以及e.target查看元素。第一個函數(shù)主要做的是保存值的一個操作,監(jiān)聽onChange。第二個函數(shù)主要是遍歷localValue的屬性并且將提交的值賦給this.state中的屬性,當(dāng)頁面其他地方需要用到修改的屬性值,通過此舉就可以直接賦值了,或者再次編輯時。localValue[k] = this.state[k],當(dāng)有些內(nèi)容由更改,有些內(nèi)容沒有更改時,需要把現(xiàn)在狀態(tài)的值賦給localValue。

5.接下來就是連接服務(wù)器的事了,不多做說明。

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

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,590評論 19 139
  • 原教程內(nèi)容詳見精益 React 學(xué)習(xí)指南,這只是我在學(xué)習(xí)過程中的一些閱讀筆記,個人覺得該教程講解深入淺出,比目前大...
    leonaxiong閱讀 2,944評論 1 18
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,112評論 25 709
  • 原文地址:React.js Forms: Controlled Components 原文作者:Loren Ste...
    pobusama閱讀 843評論 0 2
  • 圣誕節(jié)了呢。一年時間過得好快。晚上自習(xí)的時候又抽風(fēng)了一樣胡思亂想??戳艘黄⒉┑奶?,很有感觸。我總是在想,如果當(dāng)...
    我和我的小太陽閱讀 212評論 0 0

友情鏈接更多精彩內(nèi)容