⊗jsvuPmCmRE 69 of 72 menu

Реактивно уредување на податоци на компонента во Vue

Ајде сега да ја имплементираме функцијата за уредување на податоците на нашите детски компоненти. За почеток, во родителската компонента да направиме метод за промена на корисникот според неговиот id:

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

Да ги креираме компонентите во циклус, пренесувајќи им како параметри името, презимето, id и методот за промена:

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

Да ја запишеме emit-наата настанот во поставката emits на детската компонента:

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

Сега во детската компонента да направиме својство кое ќе го одредува режимот на компонентата, приказ или уредување:

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

Да направиме и својства за поддршка на работата на полињата за внесување за уредување:

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

Да направиме така што почетните вредности на овие својства да се земаат од пропсите:

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

Да направиме метод кој ќе го активира режимот на уредување:

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

Да направиме метод кој ќе ги зачувува изменетите податоци, истовремено исклучувајќи го режимот на уредување:

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

Да го направиме приказот на детската компонента:

<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>

Имплементирајте уредување на податоци на компонентата Employee.

Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј