Add props.maximum

master
git 8 years ago
parent 76c890de6c
commit ad06881ae2

@ -56,6 +56,13 @@ export default {
type: Boolean,
},
maximum: {
type: Number,
default() {
return this.multiple ? 0 : 1
}
},
addIndex: {
type: [Boolean, Number],
},
@ -377,8 +384,12 @@ export default {
addFiles.push(file)
//
if (!this.multiple) {
//
if (this.maximum === 1) {
break
}
//
if (this.maximum > 0 && (addFiles.length + this.files.length) >= this.maximum) {
break
}
}
@ -388,9 +399,8 @@ export default {
return false
}
//
if (!this.multiple) {
// 1
if (this.maximum === 1) {
this.clear()
}
@ -471,8 +481,8 @@ export default {
return new Promise((resolve, reject) => {
let forEach = (i) => {
let item = items[i]
//
if (!item || (!this.multiple && files.length)) {
//
if (!item || (this.maximum > 0 && files.length >= this.maximum)) {
return resolve(this.add(files))
}
this.getEntry(item).then(function (results) {
@ -487,7 +497,7 @@ export default {
if (dataTransfer.files.length) {
for (let i = 0; i < dataTransfer.files.length; i++) {
files.push(dataTransfer.files[i])
if (!this.multiple) {
if (this.maximum > 0 && files.length >= this.maximum) {
break
}
}
@ -516,7 +526,7 @@ export default {
entry.createReader().readEntries((entries) => {
let files = []
let forEach = (i) => {
if (!entries[i] || (files.length && !this.multiple)) {
if (!entries[i] || (this.maximum > 0 && files.length >= this.maximum)) {
return resolve(files)
}
this.getEntry(entries[i], path + entry.name + '/').then((results) => {

Loading…
Cancel
Save