⊗jsvuPmCmRE 69 of 72 menu

Edit Data Komponen Secara Reaktif di Vue

Sekarang mari kita implementasikan pengeditan data komponen anak kita. Pertama, di komponen induk, buatlah metode untuk mengubah user berdasarkan id-nya:

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

Buat komponen dalam loop, berikan parameter nama, nama belakang, id dan metode untuk mengubah:

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

Tentukan event yang dipancarkan dalam pengaturan emits komponen anak:

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

Sekarang di komponen anak buatlah properti yang akan mengatur mode komponen, tampil atau edit:

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

Buat juga properti untuk mendukung kerja input pengeditan:

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

Atur agar nilai awal properti ini diambil dari props:

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

Buat metode yang akan menjalankan mode pengeditan:

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

Buat metode yang akan menyimpan data yang telah diedit dan mematikan mode pengeditan:

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

Buat tampilan untuk komponen anak:

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

Implementasikan pengeditan data komponen Employee.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak