⊗jsvuPmCmRE 69 of 72 menu

Αντίδραση στην Επεξεργασία Δεδομένων του Component στο Vue

Ας υλοποιήσουμε τώρα την επεξεργασία δεδομένων των θυγατρικών μας components. Αρχικά, στο γονεϊκό component ας φτιάξουμε μια μέθοδο αλλαγής του χρήστη βάσει του id του:

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

Ας δημιουργήσουμε components σε βρόχο, περνώντας τους ως παράμετρο το όνομα, το επώνυμό, το id και τη μέθοδο για αλλαγή:

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

Ας ορίσουμε το εκπεμπόμενο συμβάν στις ρυθμίσεις emits του θυγατρικού component:

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

Τώρα στο θυγατρικό component ας φτιάξουμε μια ιδιότητα, που θα ορίζει τη λειτουργία του component, προβολή ή επεξεργασία:

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

Ας φτιάξουμε επίσης ιδιότητες για την υποστήριξη λειτουργίας των πεδίων εισόδου για επεξεργασία:

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

Ας φτιάξουμε τα αρχικά values αυτών των ιδιοτήτων να προέρχονται από τα props:

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); } }

Ας φτιάξουμε την προβολή του θυγατρικού component:

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

Υλοποιήστε την επεξεργασία δεδομένων του component Employee.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη