vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.1 KiB
56 lines
1.1 KiB
export function T() { |
|
return true; |
|
} |
|
|
|
// Fix IE file.status problem |
|
// via coping a new Object |
|
export function fileToObject(file) { |
|
return { |
|
...file, |
|
lastModified: file.lastModified, |
|
lastModifiedDate: file.lastModifiedDate, |
|
name: file.name, |
|
size: file.size, |
|
type: file.type, |
|
uid: file.uid, |
|
percent: 0, |
|
originFileObj: file, |
|
}; |
|
} |
|
|
|
/** |
|
* 生成Progress percent: 0.1 -> 0.98 |
|
* - for ie |
|
*/ |
|
export function genPercentAdd() { |
|
let k = 0.1; |
|
const i = 0.01; |
|
const end = 0.98; |
|
return function(s) { |
|
let start = s; |
|
if (start >= end) { |
|
return start; |
|
} |
|
|
|
start += k; |
|
k = k - i; |
|
if (k < 0.001) { |
|
k = 0.001; |
|
} |
|
return start; |
|
}; |
|
} |
|
|
|
export function getFileItem(file, fileList) { |
|
const matchKey = file.uid !== undefined ? 'uid' : 'name'; |
|
return fileList.filter(item => item[matchKey] === file[matchKey])[0]; |
|
} |
|
|
|
export function removeFileItem(file, fileList) { |
|
const matchKey = file.uid !== undefined ? 'uid' : 'name'; |
|
const removed = fileList.filter(item => item[matchKey] !== file[matchKey]); |
|
if (removed.length === fileList.length) { |
|
return null; |
|
} |
|
return removed; |
|
}
|
|
|