feat: handle v-model output

This commit is contained in:
Methapon2001 2024-08-01 14:29:00 +07:00
parent 50329871f0
commit 3005d41237

View file

@ -14,6 +14,9 @@ const dialogState = defineModel<boolean>('dialogState', {
required: false,
default: true,
});
const file = defineModel<File | null>('file', {
required: true,
});
const reader = new FileReader();
const inputFile = ref<HTMLInputElement>();
@ -23,10 +26,13 @@ reader.addEventListener('load', () => {
});
function change(e: Event) {
const element = e.target as HTMLInputElement | null;
const file = element?.files?.[0];
const _element = e.target as HTMLInputElement | null;
const _file = _element?.files?.[0];
if (file) reader.readAsDataURL(file);
if (_file) {
file.value = _file;
reader.readAsDataURL(_file);
}
}
</script>
<template>
@ -82,7 +88,7 @@ function change(e: Event) {
color="grey-4"
text-color="grey-10"
:label="$t('cancel')"
@click="inputFile && (inputFile.value = '')"
@click="inputFile && (inputFile.value = ''), (file = null)"
class="q-px-md q-mr-sm"
v-close-popup
/>