feat: CustomTable增加同步选中的行功能(selectionRows)
This commit is contained in:
		
							parent
							
								
									d98f7e1dd0
								
							
						
					
					
						commit
						0fd52c80cf
					
				|  | @ -19,7 +19,6 @@ | |||
|   </a-table> | ||||
| </template> | ||||
| <script> | ||||
| import {cloneDeep} from 'lodash' | ||||
| export default { | ||||
|   props: { | ||||
|     list: { | ||||
|  | @ -47,6 +46,9 @@ export default { | |||
|     selectedRowKeys: { | ||||
|       type: Array | ||||
|     }, | ||||
|     selectionRows: { | ||||
|       type: Array | ||||
|     }, | ||||
|     canSelect: { | ||||
|       type: Boolean, | ||||
|       default: true | ||||
|  | @ -58,7 +60,8 @@ export default { | |||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|         innerSelectedRowKeys: cloneDeep(this.selectedRowKeys) || [] | ||||
|         innerSelectedRowKeys: [], | ||||
|         innerSelectedRows: [] | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|  | @ -83,7 +86,6 @@ export default { | |||
|                 this.innerSelectedRowKeys = [key] | ||||
|               } | ||||
|             } | ||||
|             this.$emit('update:selectedRowKeys', this.innerSelectedRowKeys) | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|  | @ -93,8 +95,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