javascript - antd table 如何把可編輯行的數(shù)據(jù)保存到服務(wù)器?
問題描述
利用antd table 做了個表格,每行是可編輯的,因為我是按照官方的寫法來組織代碼,所以具體代碼請移步看官方的文檔,戳這里--->> https://ant.design/components...
如果要把編輯后的數(shù)據(jù)保存到服務(wù)器,首先要獲得編輯成功之后的數(shù)據(jù),一開始是在editDone()獲取,后來證明在該方法里是無法獲取到編輯成功之后的數(shù)據(jù);
轉(zhuǎn)向單元格的handleChange(),在這里面確實可以獲得編輯成功之后的數(shù)據(jù),可是該方法是被循環(huán)調(diào)用的,很多操作都被搞懵了。
請大家是怎么把編輯后的數(shù)據(jù)上傳到服務(wù)器的?
問題解答
回答1:我試了下antd的例子,可以拿到編輯后的值,在EditableCell中,
handleChange(e) { const value = e.target.value; this.setState({ value }); }
有一個handleChange方法會監(jiān)聽input值的變化,并實時改變state的值,所以在editDone中,
const { data } = this.state;//這個data就是你修改之后的值
有處理過一個可編輯的table,需求是一個編輯按鈕,一個提交按鈕,所以用<Form>包裹<Table>
<Form layout='inline' onSubmit={this.handleSubmit}> //用handleSubmit統(tǒng)一拿值
handleSubmit = (e) => {//因為我們這個可編輯的內(nèi)容都需要校驗,就用到antd中的validateFields,這個方法取值也方便 this.props.form.validateFields((err, values) => { console.log(values);//table中所有注冊到getFieldDecorator中的項的值都取到了,在這里你也可以改造values } }
相關(guān)文章:
1. 如何解決docker宿主機(jī)無法訪問容器中的服務(wù)?2. html - css 如何讓文字標(biāo)題顯示在邊框上?3. node.js - vue-cll+sass 樣式不出來 已經(jīng)npm install sass、 sass-loader了4. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個是怎么回事????5. html按鍵開關(guān)如何提交我想需要的值到數(shù)據(jù)庫6. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項7. node.js - 在阿里云搭建vue環(huán)境后npm run dev 沒有看到vue歡迎頁面而是 UnhandledPromiseRejection8. 跟著課件一模一樣的操作使用tp6,出現(xiàn)了錯誤9. PHP類屬性聲明?10. pdo 寫入到數(shù)據(jù)庫的內(nèi)容為中文的時候?qū)懭雭y碼
