⊗jsvuPmCmRE 69 of 72 menu

Pengeditan Data Komponen Reaktif dalam Vue

Sekarang mari kita laksanakan pengeditan data komponen anak kita. Sebagai permulaan, dalam komponen induk buat kaedah untuk mengubah pengguna berdasarkan idnya:

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 gelung, sampaikan nama, nama keluarga, id dan kaedah untuk mengubah sebagai parameter:

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

Tetapkan peristiwa yang dipancarkan dalam tetapan emits komponen anak:

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

Sekarang dalam komponen anak buat sifat yang akan menetapkan mod komponen, paparan atau pengeditan:

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

Juga buat sifat untuk menyokong kerja input untuk pengeditan:

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

Pastikan nilai awal sifat ini diambil dari props:

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

Buat kaedah yang akan memulakan mod pengeditan:

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

Buat kaedah yang akan menyimpan data yang telah diedit, sambil mematikan mod pengeditan:

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

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

Laksanakan pengeditan data komponen Employee.

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