⊗jsvuPmFmAOOE 56 of 72 menu

Formulário para editar um array de objetos em Vue

Agora vamos implementar a edição de elementos de um array de objetos. Vamos fazer um botão que, ao ser clicado, exibirá um formulário de edição no item da lista. Após preencher o formulário, clicaremos no botão de salvar e as alterações serão salvas no array, e o formulário será removido.

Vamos começar a implementação. No array de objetos, para cada objeto devemos adicionar mais um campo, contendo o estado do usuário, exibição ou edição:

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, }, ] } }

Vamos exibir o conteúdo do array como uma lista:

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

Agora vamos separar o modo de exibição e o modo de edição:

<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)"> salvar </button> </template> </li> </ul> </template>

Vamos implementar os métodos:

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

Modifique a tarefa da lição anterior para que apareça uma coluna com links para editar cada funcionário.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar