⊗jsvuPmCmRE 69 of 72 menu

Reaktiewe redigering van komponentdata in Vue

Laat ons nou die redigering van ons kindkomponente se data implementeer. Eerstens, maak 'n metode om die gebruiker volgens sy id te verander in die ouerkomponent:

methods: { change(id, name, surn) { this.users = this.users.map((user) => { if (user.id === id) { user.name = name; user.surn = surn; } return user; }); } }

Skep komponente in 'n lus, en stuur die naam, van, id en die veranderingsmetode as parameters deur:

<template> <User v-for ="user in users" :id ="user.id" :name ="user.name" :surn ="user.surn" :key ="user.id" @change="change" /> </template>

Definieer die uitgestraalde gebeurtenis in die emits opset van die kindkomponent:

props: { id: Number, name: String, surn: String, }, emits: ['change'],

Nou maak ons 'n eienskap in die kindkomponent wat die komponent se modus sal bepaal, vertoon of redigering:

data() { return { isEdit: false, } }

Maak ook eienskappe om die werking van invoervelde vir redigering te ondersteun:

data() { return { isEdit: false, newName: '', newSurn: '', } }

Sorg dat die beginwaardes van hierdie eienskappe van die props geneem word:

data() { return { isEdit: false, newName: this.name, newSurn: this.surn, } }

Maak 'n metode wat die redigeringsmodus sal aktiveer:

methods: { edit() { this.isEdit = true; } }

Maak 'n metode wat die geredigeerde data sal stoor en terselfdertyd die redigeringsmodus sal deaktiveer:

methods: { save() { this.isEdit = false; this.$emit('change', this.id, this.newName, this.newSurn); } }

Maak die voorstelling van die kindkomponent:

<template> <template v-if="!isEdit"> {{ name }} {{ surn }} <button @click="edit"> wysig </button> </template> <template v-else> <input v-model="newName"> <input v-model="newSurn"> <button @click="save"> stoor </button> </template> </template>

Implementeer die redigering van data van die Employee komponent.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp