Hi everyone! I'm the author of code.mu :)
I'd love to chat with my non-Russian audience. I'm looking for your feedback on the site and the translation quality. Let's chat:)
⊗jsvuPmFmAOOE 56 of 72 menu

Formulario para editar un array de objetos en Vue

Ahora implementemos la edición de elementos del array de objetos. Creemos para ello un botón, al hacer clic en el cual aparecerá un formulario de edición en el elemento de la lista. Después de llenar el formulario haremos clic en el botón de guardar y los cambios se guardarán en el array, y el formulario desaparecerá.

Procedamos con la implementación. En el array de objetos, a cada objeto debemos agregar un campo más, que contenga el estado del usuario: mostrar o editar:

data() { return { users: [ { id: 1, name: 'name1', surn: 'surn1', isEdit: false, }, { id: 2, name: 'name2', surn: 'surn2', isEdit: false, }, { id: 3, name: 'name3', surn: 'surn3', isEdit: false, }, ] } }

Mostremos el contenido del array en forma de lista:

<template> <ul> <li v-for="user in users" :key="user.id"> {{ user.name }} {{ user.surn }} </li> </ul> </template>

Ahora separamos el modo de visualización y el modo de edición:

<template> <ul> <li v-for="user in users" :key="user.id"> <template v-if="!user.isEdit"> {{ user.name }} {{ user.surn }} <button @click="edit(user)"> editar </button> </template> <template v-else> <input v-model="user.name"> <input v-model="user.surn"> <button @click="save(user)"> guardar </button> </template> </li> </ul> </template>

Implementemos los métodos:

methods: { edit(user) { user.isEdit = true; }, save(user) { user.isEdit = false; }, }

Modifique la tarea de la lección anterior para que aparezca una columna con enlaces para editar cada trabajador.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar