Merge branch 'bugfix/custom-table' into feature-particulate-renpy
This commit is contained in:
		
						commit
						373dfd87b0
					
				|  | @ -19,7 +19,6 @@ | |||
|   </a-table> | ||||
| </template> | ||||
| <script> | ||||
| import {cloneDeep} from 'lodash' | ||||
| export default { | ||||
|   props: { | ||||
|     list: { | ||||
|  | @ -47,34 +46,47 @@ export default { | |||
|     selectedRowKeys: { | ||||
|       type: Array | ||||
|     }, | ||||
|     selectionRows: { | ||||
|       type: Array | ||||
|     }, | ||||
|     canSelect: { | ||||
|       type: Boolean, | ||||
|       default: true | ||||
|     }, | ||||
|     multiple: { | ||||
|       type: Boolean, | ||||
|       default: false | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|         innerSelectedRowKeys: cloneDeep(this.selectedRowKeys) || [] | ||||
|         innerSelectedRowKeys: [], | ||||
|         innerSelectedRows: [] | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     // 实现单击选中/反选功能 | ||||
|     customRow(record) { | ||||
|       let _this = this | ||||
|       const key = record[this.rowKey] | ||||
|       return { | ||||
|         class: _this.innerSelectedRowKeys.includes(record[_this.rowKey]) ? 'ant-table-row-selected' : '', | ||||
|         class: this.innerSelectedRowKeys.includes(key) ? 'ant-table-row-selected' : '', | ||||
|         on: { | ||||
|           click: () => { | ||||
|             if(!_this.canSelect) { | ||||
|             if(!this.canSelect) { | ||||
|               return | ||||
|             } | ||||
|             if (_this.innerSelectedRowKeys.includes(record[_this.rowKey])) { | ||||
|               _this.innerSelectedRowKeys = [] | ||||
|             if (this.innerSelectedRowKeys.includes(key)) { | ||||
|                const findIndex = this.innerSelectedRowKeys.findIndex(k => k == key) | ||||
|                this.innerSelectedRowKeys.splice(findIndex, 1) | ||||
|             } else { | ||||
|               _this.innerSelectedRowKeys = [record[_this.rowKey]] | ||||
|               if(this.multiple) { | ||||
|                 this.innerSelectedRowKeys.push(key) | ||||
|               } | ||||
|               else { | ||||
|                 this.innerSelectedRowKeys = [key] | ||||
|               } | ||||
|             } | ||||
|             _this.$emit('update:selectedRowKeys', _this.innerSelectedRowKeys) | ||||
|             _this.$emit("detail",record) | ||||
|             this.$emit("detail",record) | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|  | @ -84,8 +96,15 @@ export default { | |||
|     } | ||||
|   }, | ||||
|   watch: { | ||||
|     selectedRowKeys () { | ||||
|         this.innerSelectedRowKeys = cloneDeep(this.selectedRowKeys) | ||||
|     selectedRowKeys (val) { | ||||
|         this.innerSelectedRowKeys = val | ||||
|     }, | ||||
|     innerSelectedRowKeys () { | ||||
|       this.$emit('update:selectedRowKeys', this.innerSelectedRowKeys) | ||||
|       this.innerSelectedRows = this.innerSelectedRowKeys.map((key) => { | ||||
|         return this.list.find(item => item[this.rowKey] === key) | ||||
|       }) | ||||
|       this.$emit('update:selectionRows', this.innerSelectedRows) | ||||
|     } | ||||
|   }, | ||||
|   computed: { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user