Estoy tratando de cargar varios archivos en una entrada de archivo v, pero luego los guardo cada uno en la entrada de archivo v. Pero permanecen como se cargaron, en una entrada de archivo v todo.
parte de mi componente-
<v-file-input dense single-line multiple :value="file" @change="$emit('changeFile', $event)" />controlador de cambio de archivo
changeFile(obj, index, value) { if (!Array.isArray(value)) { obj[index].file = value; } else { let i = index, newArr = []; if (index < obj.length && obj.length != 1) { newArr = obj.slice(index + 1, obj.length + 1); obj.splice(index + 1); } value.forEach((it) => { if (i + 1 == obj.length) { obj[i].file = it; } else { obj.push({ file: it, selectedItem: "install-workflow", Hash: new Date().getTime(), }); } i++; }); if (newArr.length > 0) { obj = [...newArr]; } } this.WMSdef = obj; },la idea del manejo de archivos es que el usuario puede agregar varios archivos a cualquier lugar de la matriz y debemos cambiar elementos para no perderlos.
el componente se usa así
<vue-file-and-box v-for="(item, index) in WMSdef" :key="item.Hash" :items="Phases" :text="item.file" :value="item.selectedItem" @change="changePhase(WMSdef, index, ...arguments)" @changeFile="changeFile(WMSdef, index, ...arguments)" @clickAdd="addFile(WMSdef)" @clickDelete="deleteFile(WMSdef, 'WMS', item)" />y en las herramientas de desarrollo de vue veo que WMSdef como una matriz se almacena correctamente: es una matriz de n archivos, por lo que debería mostrarse con v-for como una matriz de mis componentes. pero obtengo un vue-file-and-box con n archivos y n-1 componentes vue-file-and-box vacíos, así es como se ve