🐛 fix: bugs fixed
This commit is contained in:
parent
0ca59dbc59
commit
fbfa6e33fc
|
@ -9,14 +9,12 @@ import VMessage from '../message/VMessage.vue';
|
|||
import VScrollpanel from '../scrollpanel/VScrollpanel.vue';
|
||||
import type IVFileUpload from './IVFileUpload.type';
|
||||
import type { FileUploadErrorEvent, FileUploadProgressEvent, FileUploadRemoveEvent, FileUploadSelectEvent, FileUploadUploadEvent } from 'primevue/fileupload';
|
||||
import { computed, useId, ref, onMounted } from 'vue';
|
||||
import { computed, useId, ref } from 'vue';
|
||||
import styles from '@visua/typography.module.css';
|
||||
|
||||
const fileUploadRef = ref();
|
||||
const fileProgressMap = ref<Record<string, number>>({});
|
||||
const fileSelected = ref(false);
|
||||
const hasActiveError = ref(false);
|
||||
const lastSelectedFile = ref<File | null>(null);
|
||||
|
||||
defineOptions({
|
||||
inheritAttrs: false,
|
||||
|
@ -67,15 +65,12 @@ const handleSelect = (event: FileUploadSelectEvent) => {
|
|||
emit('select', event);
|
||||
if (!props.advanced && event.files.length > 0 && fileUploadRef.value) {
|
||||
fileUploadRef.value.files = [event.files.at(-1)];
|
||||
lastSelectedFile.value = event.files.at(-1);
|
||||
fileUploadRef.value.uploadedFiles = [];
|
||||
}
|
||||
fileSelected.value = true;
|
||||
};
|
||||
|
||||
const handleClear = () => {
|
||||
emit('clear');
|
||||
fileSelected.value = false;
|
||||
lastSelectedFile.value = null;
|
||||
hasActiveError.value = false;
|
||||
};
|
||||
|
||||
|
@ -85,8 +80,6 @@ const handleUpload = (event: FileUploadUploadEvent) => {
|
|||
|
||||
const handleRemove = (event: FileUploadRemoveEvent) => {
|
||||
emit('remove', event);
|
||||
fileSelected.value = false;
|
||||
lastSelectedFile.value = null;
|
||||
hasActiveError.value =false;
|
||||
};
|
||||
|
||||
|
@ -104,15 +97,16 @@ const handleError = (event: FileUploadErrorEvent) => {
|
|||
hasActiveError.value = true;
|
||||
}
|
||||
|
||||
const lastSelectedFile = computed(() => {
|
||||
const files = fileUploadRef.value?.files || [];
|
||||
return files.at(-1) ?? null;
|
||||
});
|
||||
|
||||
|
||||
const uploadEvent = (callback: () => void) => {
|
||||
callback();
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
const currentFiles = fileUploadRef.value?.files || [];
|
||||
fileSelected.value = currentFiles.length > 0;
|
||||
});
|
||||
|
||||
const padding = computed(() => props.advanced ? '1.125rem' : '0rem')
|
||||
const borderColor = computed(() => props.advanced ? 'var(--border-default-grey)' : 'transparent');
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user