Skip to main content

file

Funcionalidades

  • Seleccionar imagenes
  • Arrastras y soltar imagenes
  • Renderizar imagenes seleccionadas
  • Eliminar imagenes renderizadas

Componente File

El componente File te permite crear campos de carga de archivos personalizados con varias propiedades y opciones. Puedes utilizarlo para permitir que los usuarios carguen archivos en formularios u otras interacciones.

Uso en Componentes

Utilizando en un Componente

Ejemplo de File

Puedes utilizar el componente File en tus componentes de la siguiente manera:


<template>
<File
:placeholder="'Cargar archivo'"
:accept="['image/png', 'image/jpeg', 'application/pdf']"
:validations="validations"
:listen-form="true"
v-model:model-value="fileValue"
@on-change="handleFileChange"
@on-remove="handleFileRemove"
@set-error="handleFileError"
/>
</template>

<script setup lang="ts">
import { ref } from 'vue';

const fileValue = ref(null);

const validations = ref({
required: true,
});

// Métodos para manejar eventos
const handleFileChange = (files) => {
// Lógica para manejar el cambio de archivo
};

const handleFileRemove = ({ image, index }) => {
// Lógica para manejar la eliminación de archivo
};

const handleFileError = (value) => {
// Lógica para manejar el error en el campo de archivo
};
</script>

Autocompletar

si quieres autcompletar las imagenges para actualizar


const fileValue = ref([
{ image: 'www.api.com/images/image1.png' },
{ image: 'www.api.com/images/image2.png' },
// ...otros objetos
]);

o si quieres agregarle data extra para trackear el file/imagen actual


const fileValue = ref([
{ image: 'www.api.com/images/image1.png', id: 1, name: 'name1' },
{ image: 'www.api.com/images/image2.png', id: 2, name: 'name2' },
// ...otros objetos
]);

De esta manera funciona con el componente FormFile

Propiedades

El componente File acepta las siguientes propiedades:

PropiedadTipoValor por defectoDescripción
placeholderStringDefine el texto de marcador de posición para el campo de carga de archivo.
acceptArray de string['image/png', 'image/jpeg', 'application/pdf']Define los tipos de archivo aceptados.
valueCualquier tipoDefine el valor del campo de carga de archivo.
disabledBooleanfalseDeshabilita el campo de carga de archivo.
stateBoolean, nullnullIndica el estado del campo de carga de archivo.
customClassStringAgrega clases de estilo personalizadas al campo de carga de archivo.
validationsObjectDefine las validaciones para el campo de carga de archivo.
errorsArray de string[]Muestra los mensajes de error asociados al campo de carga de archivo.
listenFormBooleanIndica si se debe escuchar los cambios en el formulario que contiene el campo de carga de archivo.
resetOnOpenBooleanfalseRestablece el valor del campo de carga de archivo al abrirlo.
displayImagesBooleantrueMuestra las imágenes previas de los archivos cargados.

Eventos

El componente File emite los siguientes eventos:

EventoParámetrosDescripción
update:model-valuevalue: Array<object> or Array<File>Emitido cuando cambia el valor
onChangevalue: Array<object> or Array<File>Emitido al cambiar el contenido
onRemove{ image: any, index: number }Emitido al eliminar un archivo
setErrorvalue: booleanEmitido cuando cambia el estado de error