fix: 删除后value不更新的bug
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
* @Author: zhaojinfeng 121016171@qq.com
|
||||
* @Date: 2023-08-16 17:33:41
|
||||
* @LastEditors: zhaojinfeng 121016171@qq.com
|
||||
* @LastEditTime: 2023-08-22 12:54:19
|
||||
* @LastEditTime: 2023-08-22 14:16:22
|
||||
* @FilePath: \vue3\packages\upload-list\index.vue
|
||||
* @Description:
|
||||
*
|
||||
@ -48,7 +48,7 @@ const props = withDefaults(
|
||||
)
|
||||
|
||||
const emit = defineEmits<{
|
||||
(event: 'update:fileList', file: FileVO[]): void
|
||||
(event: 'update:file-list', file: FileVO[]): void
|
||||
}>()
|
||||
|
||||
const userFiles = ref<UploadUserFile[]>([])
|
||||
@ -68,10 +68,11 @@ async function httpRequest({ file, onProgress, onSuccess, onError }: UploadReque
|
||||
formData.append('filePath', props.filePath)
|
||||
try {
|
||||
const res = await props.request(formData, {
|
||||
onUploadProgress: onProgress,
|
||||
onUploadProgress(e: ProgressEvent) {
|
||||
onProgress({ ...e, percent: Math.floor(e.loaded * 100 / e.total) })
|
||||
},
|
||||
})
|
||||
onSuccess(res)
|
||||
emit('update:fileList', [...props.fileList, res])
|
||||
}
|
||||
catch (err) {
|
||||
onError(err)
|
||||
@ -87,11 +88,10 @@ userFiles.value = props.fileList.map(file => ({
|
||||
|
||||
function remove(_uploadFile: UploadFile, uploadFiles: UploadFiles) {
|
||||
userFiles.value = uploadFiles
|
||||
emit('update:file-list', uploadFiles)
|
||||
}
|
||||
|
||||
watch(() => userFiles, (files) => {
|
||||
emit('update:fileList', files.value.map(file => ({
|
||||
...file,
|
||||
})))
|
||||
watch(() => userFiles.value, (uploadFiles) => {
|
||||
emit('update:file-list', uploadFiles)
|
||||
})
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user