|
|
@@ -15,12 +15,12 @@
|
|
|
}}</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="upload" v-if="maxCount - fileList.length">
|
|
|
+ <view class="upload" v-if="maximum - fileList.length">
|
|
|
<nut-icon color="#808080" :name="uploadIcon"></nut-icon>
|
|
|
<input
|
|
|
type="file"
|
|
|
:capture="capture"
|
|
|
- :accept="acceptType"
|
|
|
+ :accept="accept"
|
|
|
:multiple="multiple"
|
|
|
:name="name"
|
|
|
:disabled="disabled"
|
|
|
@@ -59,12 +59,12 @@ export default create({
|
|
|
isDeletable: { type: Boolean, default: true },
|
|
|
method: { type: String, default: 'post' },
|
|
|
capture: { type: String, default: 'camera' },
|
|
|
- maxSize: { type: [Number, String], default: Number.MAX_VALUE },
|
|
|
- maxCount: { type: [Number, String], default: 1 },
|
|
|
+ maximize: { type: [Number, String], default: Number.MAX_VALUE },
|
|
|
+ maximum: { type: [Number, String], default: 1 },
|
|
|
clearInput: { type: Boolean, default: false },
|
|
|
- acceptType: { type: String, default: '*' },
|
|
|
+ accept: { type: String, default: 'image/*' },
|
|
|
headers: { type: Object, default: {} },
|
|
|
- formData: { type: Object, default: {} },
|
|
|
+ data: { type: Object, default: {} },
|
|
|
uploadIcon: { type: String, default: 'photograph' },
|
|
|
xhrState: { type: [Number, String], default: 200 },
|
|
|
withCredentials: { type: Boolean, default: false },
|
|
|
@@ -108,7 +108,7 @@ export default create({
|
|
|
const executeUpload = (fileItem: FileItem) => {
|
|
|
const uploadOption = new UploadOptions();
|
|
|
uploadOption.url = props.url;
|
|
|
- for (const [key, value] of Object.entries(props.formData)) {
|
|
|
+ for (const [key, value] of Object.entries(props.data)) {
|
|
|
fileItem.formData.append(key, value);
|
|
|
}
|
|
|
uploadOption.formData = fileItem.formData;
|
|
|
@@ -177,11 +177,11 @@ export default create({
|
|
|
};
|
|
|
|
|
|
const filterFiles = (files: File[]) => {
|
|
|
- const maxCount = (props.maxCount as number) * 1;
|
|
|
- const maxSize = (props.maxSize as number) * 1;
|
|
|
+ const maximum = (props.maximum as number) * 1;
|
|
|
+ const maximize = (props.maximize as number) * 1;
|
|
|
const oversizes = new Array<File>();
|
|
|
files = files.filter((file: File) => {
|
|
|
- if (file.size > maxSize) {
|
|
|
+ if (file.size > maximize) {
|
|
|
oversizes.push(file);
|
|
|
return false;
|
|
|
} else {
|
|
|
@@ -191,8 +191,8 @@ export default create({
|
|
|
if (oversizes.length) {
|
|
|
emit('oversize', oversizes);
|
|
|
}
|
|
|
- if (files.length > maxCount) {
|
|
|
- files.splice(maxCount - 1, files.length - maxCount);
|
|
|
+ if (files.length > maximum) {
|
|
|
+ files.splice(maximum - 1, files.length - maximum);
|
|
|
}
|
|
|
return files;
|
|
|
};
|