From d6dfba48678e1107a9e7c6524e1dfa2d3fdff03c Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 08 十月 2021 19:29:21 +0800
Subject: [PATCH] 2021-10-08

---
 src/tabviews/custom/components/table/edit-table/normalTable/index.jsx |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
index d667402..8580b14 100644
--- a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
+++ b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
@@ -191,12 +191,17 @@
 
   enterPress = () => {
     const { col, record } = this.props
+    const { value } = this.state
+
     this.setState({editing: false})
     if (col.enter === '$next') {
       MKEmitter.emit('nextLine', col, record.$Index)
     } else {
       MKEmitter.emit('tdFocus', col.enter + record.$Index)
     }
+
+    let _record = {...record, [col.field]: value}
+    MKEmitter.emit('changeRecord', _record)
   }
 
   focus = () => {
@@ -209,7 +214,13 @@
   }
 
   onBlur = () => {
+    const { col, record } = this.props
+    const { value } = this.state
+
     this.setState({editing: false})
+
+    let _record = {...record, [col.field]: value}
+    MKEmitter.emit('changeRecord', _record)
   }
 
   render() {
@@ -354,7 +365,7 @@
   }
 
   UNSAFE_componentWillMount () {
-    const { setting, fields, columns } = this.props
+    const { setting, fields, columns, data } = this.props
     let orderfields = {}
     let initEditLine = null
 
@@ -406,6 +417,7 @@
     }
 
     this.setState({
+      data,
       columns: _columns,
       tableId,
       orderfields,
@@ -420,6 +432,7 @@
   componentDidMount () {
     MKEmitter.addListener('resetTable', this.resetTable)
     MKEmitter.addListener('nextLine', this.nextLine)
+    MKEmitter.addListener('changeRecord', this.changeRecord)
   }
 
   /**
@@ -431,6 +444,7 @@
     }
     MKEmitter.removeListener('resetTable', this.resetTable)
     MKEmitter.removeListener('nextLine', this.nextLine)
+    MKEmitter.removeListener('changeRecord', this.changeRecord)
   }
 
   UNSAFE_componentWillReceiveProps(nextProps) {
@@ -448,6 +462,18 @@
     }
   }
 
+  changeRecord = (record) => {
+    let _data = this.state.data.map(item => {
+      if (item.$Index === record.$Index) {
+        return record
+      } else {
+        return item
+      }
+    })
+
+    this.setState({data: _data})
+  }
+
   changeTable = (pagination, filters, sorter) => {
     const { orderfields } = this.state
 

--
Gitblit v1.8.0