⊗jsvuPmCmRE 69 of 72 menu

Chỉnh sửa dữ liệu component một cách phản ứng trong Vue

Bây giờ hãy thực hiện việc chỉnh sửa dữ liệu của các component con của chúng ta. Đầu tiên, trong component cha, hãy tạo một phương thức để thay đổi người dùng theo id của họ:

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

Hãy tạo các component trong vòng lặp, truyền cho chúng tham số tên, họ, id và phương thức để thay đổi:

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

Hãy khai báo sự kiện được phát ra trong cấu hình emits của component con:

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

Bây giờ trong component con, hãy tạo một thuộc tính sẽ thiết lập chế độ của component, hiển thị hoặc chỉnh sửa:

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

Hãy cũng tạo các thuộc tính để hỗ trợ hoạt động của các ô nhập liệu cho việc chỉnh sửa:

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

Hãy đảm bảo rằng các giá trị ban đầu của các thuộc tính này được lấy từ props:

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

Hãy tạo một phương thức sẽ kích hoạt chế độ chỉnh sửa:

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

Hãy tạo một phương thức sẽ lưu dữ liệu đã chỉnh sửa, đồng thời tắt chế độ chỉnh sửa:

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

Hãy tạo giao diện cho component con:

<template> <template v-if="!isEdit"> {{ name }} {{ surn }} <button @click="edit"> chỉnh sửa </button> </template> <template v-else> <input v-model="newName"> <input v-model="newSurn"> <button @click="save"> lưu </button> </template> </template>

Hãy thực hiện việc chỉnh sửa dữ liệu của component Employee.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối