Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

269
Vistas
Entrada de archivo en cambio en vue.js

Usando HTML/JS simple, es posible ver los objetos de archivo JavaScript de archivos seleccionados para un elemento de entrada como este:

 <input type="file" id="input" multiple onchange="handleFiles(this.files)">

Sin embargo, al convertirlo a la forma 'Vue', no parece funcionar según lo previsto y simplemente devuelve undefined en lugar de devolver una matriz de objetos de archivo.

Así es como se ve en mi plantilla de Vue:

 <input type="file" id="file" class="custom-file-input" v-on:change="previewFiles(this.files)" multiple>

Donde la función previewFiles es simplemente la siguiente (ubicada en métodos):

 methods: { previewFiles: function(files) { console.log(files) } }

¿Hay una forma alternativa/correcta de hacer esto? Gracias

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Otra solución:

 <input type="file" @change="previewFiles" multiple> methods: { previewFiles(event) { console.log(event.target.files); } }
over 4 years ago · Santiago Trujillo Denunciar

0

Prueba esto.

 <input type="file" id="file" ref="myFiles" class="custom-file-input" @change="previewFiles" multiple>

y en sus opciones de componentes:

 data() { return { files: [], } }, methods: { previewFiles() { this.files = this.$refs.myFiles.files } }
over 4 years ago · Santiago Trujillo Denunciar

0

Para todos los usuarios de TS:

 <template> <input ref="upload" type="file" name="file-upload" multiple="" accept="image/jpeg, image/png" @change="onUploadFiles"> </template>
 import { Component, Prop, Vue } from 'vue-property-decorator'; @Component({ components: {} }) export default class MediaEdit extends Vue { private onUploadFiles(event: InputEvent): void { const files: ReadonlyArray<File> = [...(this.upload.files ? this.upload.files : [])]; files.forEach((file) => { console.log(`File: ${file.name}`); }); } /** Upload element */ private get upload(): HTMLInputElement { return this.$refs.upload as HTMLInputElement; } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda