⊗jsvuPmCmRR 68 of 72 menu

Xóa các thành phần một cách phản ứng trong Vue

Hãy học cách xóa các thành phần con từ danh sách một cách phản ứng. Để làm điều này, hãy tạo một nút đặc biệt trong mỗi thành phần con. Khi nhấp vào nút này, một sự kiện sẽ được phát ra và trong thành phần cha, thành phần con được chỉ định sẽ bị xóa theo id của nó.

Hãy bắt đầu triển khai. Giả sử trong thành phần cha có mảng đối tượng sau:

data() { return { users: [ { id: 1, name: 'name1', surn: 'surn1' }, { id: 2, name: 'name2', surn: 'surn2' }, { id: 3, name: 'name3', surn: 'surn3' }, ], } }

Hãy viết một phương thức trong thành phần cha để xóa người dùng theo id của họ:

methods: { remove(id) { this.users = this.users.filter((user) => { return user.id !== id; }) } }

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

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

Khai báo dữ liệu đầu vào trong cấu hình props và sự kiện được phát ra trong cấu hình emits:

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

Hiển thị trong giao diện của thành phần tên và họ của người dùng:

<template> {{ name }} {{ surn }} </template>

Và bây giờ hãy tạo một nút, khi nhấp vào sẽ phát ra sự kiện để xóa. Tham số của sự kiện này sẽ là id của thành phần. Thành phần cha khi nhận được sự kiện sẽ xóa người dùng này khỏi mảng đối tượng và họ sẽ biến mất một cách phản ứng khỏi danh sách người dùng.

Vậy, hãy triển khai nút này:

<template> {{ name }} {{ surn }} <button @click="$emit('remove', id)"> remove </button> </template>

Hiển thị các thành phần Employee trong vòng lặp. Tạo một nút trong mỗi thành phần để xóa nó.

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