⊗jsvuPmCmRE 69 of 72 menu

Redaktimi Reaktiv i të Dhënave të Komponentit në Vue

Tani le të implementojmë redaktimin e të dhënave të komponentëve tanë fëmijë. Për fillim, në komponentin prind le të krijojmë një metodë për ndryshimin e përdoruesit sipas id të tij:

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

Le të krijojmë komponentët në cikël, duke u kaluar atyre si parametra emrin, mbiemrin, id dhe metodën për ndryshim:

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

Le të përcaktojmë ngjarjen e emetuar në konfigurimin emits të komponentit fëmijë:

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

Tani në komponentin fëmijë le të krijojmë një pronë që do të përcaktojë mënyrën e funksionimit të komponentit, shfaqje ose redaktim:

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

Le të krijojmë gjithashtu prona për të mbështetur funksionimin e fushave të hyrjes për redaktim:

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

Le të bëjmë që vlerat fillestare të këtyre pronave të merren nga props:

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

Le të krijojmë një metodë që do të nisë mënyrën e redaktimit:

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

Le të krijojmë një metodë që do të ruajë të dhënat e redaktuara, duke çaktivizuar në të njëjtën kohë mënyrën e redaktimit:

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

Le të krijojmë pamjen e komponentit fëmijë:

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

Implementoni redaktimin e të dhënave të komponentit Employee.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo