perf[complex-table]:refine code (#2825)
* 解决无法删除列表的bug;优化代码; * perf: refine Co-authored-by: 花裤衩 <panfree23@gmail.com>
This commit is contained in:
		
				
					committed by
					
						 花裤衩
						花裤衩
					
				
			
			
				
	
			
			
			
						parent
						
							fd5a2e8da2
						
					
				
				
					commit
					55b1bbac99
				
			| @@ -18,7 +18,7 @@ for (let i = 0; i < count; i++) { | ||||
|     forecast: '@float(0, 100, 2, 2)', | ||||
|     importance: '@integer(1, 3)', | ||||
|     'type|1': ['CN', 'US', 'JP', 'EU'], | ||||
|     'status|1': ['published', 'draft', 'deleted'], | ||||
|     'status|1': ['published', 'draft'], | ||||
|     display_time: '@datetime', | ||||
|     comment_disabled: true, | ||||
|     pageviews: '@integer(300, 5000)', | ||||
|   | ||||
| @@ -80,7 +80,7 @@ | ||||
|         </template> | ||||
|       </el-table-column> | ||||
|       <el-table-column label="Actions" align="center" width="230" class-name="small-padding fixed-width"> | ||||
|         <template slot-scope="{row}"> | ||||
|         <template slot-scope="{row,$index}"> | ||||
|           <el-button type="primary" size="mini" @click="handleUpdate(row)"> | ||||
|             Edit | ||||
|           </el-button> | ||||
| @@ -90,7 +90,7 @@ | ||||
|           <el-button v-if="row.status!='draft'" size="mini" @click="handleModifyStatus(row,'draft')"> | ||||
|             Draft | ||||
|           </el-button> | ||||
|           <el-button v-if="row.status!='deleted'" size="mini" type="danger" @click="handleModifyStatus(row,'deleted')"> | ||||
|           <el-button v-if="row.status!='deleted'" size="mini" type="danger" @click="handleDelete(row,$index)"> | ||||
|             Delete | ||||
|           </el-button> | ||||
|         </template> | ||||
| @@ -319,13 +319,8 @@ export default { | ||||
|           const tempData = Object.assign({}, this.temp) | ||||
|           tempData.timestamp = +new Date(tempData.timestamp) // change Thu Nov 30 2017 16:41:05 GMT+0800 (CST) to 1512031311464 | ||||
|           updateArticle(tempData).then(() => { | ||||
|             for (const v of this.list) { | ||||
|               if (v.id === this.temp.id) { | ||||
|                 const index = this.list.indexOf(v) | ||||
|                 this.list.splice(index, 1, this.temp) | ||||
|                 break | ||||
|               } | ||||
|             } | ||||
|             const index = this.list.findIndex(v => v.id === this.temp.id) | ||||
|             this.list.splice(index, 1, this.temp) | ||||
|             this.dialogFormVisible = false | ||||
|             this.$notify({ | ||||
|               title: 'Success', | ||||
| @@ -337,14 +332,13 @@ export default { | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|     handleDelete(row) { | ||||
|     handleDelete(row, index) { | ||||
|       this.$notify({ | ||||
|         title: 'Success', | ||||
|         message: 'Delete Successfully', | ||||
|         type: 'success', | ||||
|         duration: 2000 | ||||
|       }) | ||||
|       const index = this.list.indexOf(row) | ||||
|       this.list.splice(index, 1) | ||||
|     }, | ||||
|     handleFetchPv(pv) { | ||||
| @@ -358,7 +352,7 @@ export default { | ||||
|       import('@/vendor/Export2Excel').then(excel => { | ||||
|         const tHeader = ['timestamp', 'title', 'type', 'importance', 'status'] | ||||
|         const filterVal = ['timestamp', 'title', 'type', 'importance', 'status'] | ||||
|         const data = this.formatJson(filterVal, this.list) | ||||
|         const data = this.formatJson(filterVal) | ||||
|         excel.export_json_to_excel({ | ||||
|           header: tHeader, | ||||
|           data, | ||||
| @@ -367,8 +361,8 @@ export default { | ||||
|         this.downloadLoading = false | ||||
|       }) | ||||
|     }, | ||||
|     formatJson(filterVal, jsonData) { | ||||
|       return jsonData.map(v => filterVal.map(j => { | ||||
|     formatJson(filterVal) { | ||||
|       return this.list.map(v => filterVal.map(j => { | ||||
|         if (j === 'timestamp') { | ||||
|           return parseTime(v[j]) | ||||
|         } else { | ||||
| @@ -378,11 +372,7 @@ export default { | ||||
|     }, | ||||
|     getSortClass: function(key) { | ||||
|       const sort = this.listQuery.sort | ||||
|       return sort === `+${key}` | ||||
|         ? 'ascending' | ||||
|         : sort === `-${key}` | ||||
|           ? 'descending' | ||||
|           : '' | ||||
|       return sort === `+${key}` ? 'ascending' : 'descending' | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user