Merge pull request #666 from ariesjia/feat-1.4.0
add reject event for drag not accepted files to upload componentpull/802/head
						commit
						c483390dbc
					
				|  | @ -136,6 +136,9 @@ export default { | ||||||
|         fileList, |         fileList, | ||||||
|       }); |       }); | ||||||
|     }, |     }, | ||||||
|  |     onReject(fileList) { | ||||||
|  |       this.$emit('reject', fileList); | ||||||
|  |     }, | ||||||
|     handleRemove(file) { |     handleRemove(file) { | ||||||
|       const { remove } = getOptionProps(this); |       const { remove } = getOptionProps(this); | ||||||
|       const { status } = file; |       const { status } = file; | ||||||
|  | @ -232,6 +235,7 @@ export default { | ||||||
|         error: this.onError, |         error: this.onError, | ||||||
|         progress: this.onProgress, |         progress: this.onProgress, | ||||||
|         success: this.onSuccess, |         success: this.onSuccess, | ||||||
|  |         reject: this.onReject, | ||||||
|       }, |       }, | ||||||
|       ref: 'uploadRef', |       ref: 'uploadRef', | ||||||
|       class: `${prefixCls}-btn`, |       class: `${prefixCls}-btn`, | ||||||
|  |  | ||||||
|  | @ -28,6 +28,7 @@ | ||||||
| | --- | --- | --- | | | --- | --- | --- | | ||||||
| | change | A callback function, can be executed when uploading state is changing. See [change](#change) | Function | - | | | change | A callback function, can be executed when uploading state is changing. See [change](#change) | Function | - | | ||||||
| | preview | A callback function, will be executed when file link or preview icon is clicked. | Function(file) | - | | | preview | A callback function, will be executed when file link or preview icon is clicked. | Function(file) | - | | ||||||
|  | | reject | A callback function, will be executed when drop files is not accept. | Function(fileList) | - | | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ### change | ### change | ||||||
|  |  | ||||||
|  | @ -28,6 +28,7 @@ | ||||||
| | --- | --- | --- | | | --- | --- | --- | | ||||||
| | change | 上传文件改变时的状态,详见 [change](#change) | Function | 无 | | | change | 上传文件改变时的状态,详见 [change](#change) | Function | 无 | | ||||||
| | preview | 点击文件链接或预览图标时的回调 | Function(file) | 无 | | | preview | 点击文件链接或预览图标时的回调 | Function(file) | 无 | | ||||||
|  | | reject | 拖拽文件不符合accept类型时的回调 | Function(fileList) | 无 | | ||||||
| 
 | 
 | ||||||
| ### change | ### change | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| import PropTypes from '../../_util/vue-types'; | import PropTypes from '../../_util/vue-types'; | ||||||
| import BaseMixin from '../../_util/BaseMixin'; | import BaseMixin from '../../_util/BaseMixin'; | ||||||
|  | import partition from 'lodash/partition'; | ||||||
| import classNames from 'classnames'; | import classNames from 'classnames'; | ||||||
| import defaultRequest from './request'; | import defaultRequest from './request'; | ||||||
| import getUid from './uid'; | import getUid from './uid'; | ||||||
|  | @ -74,10 +75,13 @@ const AjaxUploader = { | ||||||
|           attrAccept(_file, this.accept), |           attrAccept(_file, this.accept), | ||||||
|         ); |         ); | ||||||
|       } else { |       } else { | ||||||
|         const files = Array.prototype.slice |         const files = partition(Array.prototype.slice.call(e.dataTransfer.files), file => | ||||||
|           .call(e.dataTransfer.files) |           attrAccept(file, this.accept), | ||||||
|           .filter(file => attrAccept(file, this.accept)); |         ); | ||||||
|         this.uploadFiles(files); |         this.uploadFiles(files[0]); | ||||||
|  |         if (files[1].length) { | ||||||
|  |           this.$emit('reject', files[1]); | ||||||
|  |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     uploadFiles(files) { |     uploadFiles(files) { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 三点包子
						三点包子