⊗jsvuPmCmRR 68 of 72 menu

การลบคอมโพเนนต์แบบรีแอคทีฟใน Vue

มาเรียนรู้วิธีการลบคอมโพเนนต์ลูก จากรายการแบบรีแอคทีฟกัน เพื่อทำสิ่งนี้ ให้สร้างปุ่มพิเศษ ในแต่ละคอมโพเนนต์ลูก เมื่อคลิกที่ปุ่มนี้ จะมีการปล่อยอีเวนต์ และในคอมโพเนนต์หลัก จะทำการลบ คอมโพเนนต์ลูกที่กำหนดตาม id ของมัน

มาเริ่มการดำเนินการกัน ให้ในคอมโพเนนต์หลัก มีอาร์เรย์ของอ็อบเจกต์ดังต่อไปนี้:

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

มาเขียนเมธอดสำหรับลบผู้ใช้ ตาม id ของเขาในคอมโพเนนต์หลัก:

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

มาสร้างคอมโพเนนต์ในลูป โดยส่ง ชื่อ นามสกุล id และเมธอดสำหรับการลบเป็นพารามิเตอร์:

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

กำหนดข้อมูลขาเข้าในการตั้งค่า props และอีเวนต์ที่ปล่อยออกมาในการตั้งค่า emits:

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

มาแสดงชื่อและนามสกุลของผู้ใช้ ในเทมเพลตของคอมโพเนนต์:

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

และตอนนี้มาสร้างปุ่ม ที่เมื่อคลิก จะปล่อยอีเวนต์สำหรับการลบ พารามิเตอร์ของอีเวนต์นี้ จะส่ง id ของคอมโพเนนต์ไปด้วย คอมโพเนนต์หลักเมื่อได้รับอีเวนต์ จะลบผู้ใช้นี้ออกจากอาร์เรย์ของอ็อบเจกต์ และมันจะหายไปจากรายการผู้ใช้แบบรีแอคทีฟ

ดังนั้น มาดำเนินการปุ่มนี้:

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

แสดงคอมโพเนนต์ Employee ในลูป สร้างปุ่มสำหรับลบคอมโพเนนต์นั้น ในแต่ละคอมโพเนนต์

ไทย
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ʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ