⊗jsvuPmCmRR 68 of 72 menu

Reaktīva komponentu dzēšana Vue

Iemācīsimies reaktīvi dzēst meitas komponentus no saraksta. Lai to izdarītu, katrā meitas komponentā izveidosim īpašu pogu. Nospiežot šo pogu, tiks izsaukts notikums un vecākkomponentā tiks izdzēsts norādītais meitas komponents pēc tā id.

Sāksim ar implementāciju. Lai vecākkomponentā ir dots šāds objektu masīvs:

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

Rakstīsim vecākkomponentā metodi lietotāja dzēšanai pēc tā id:

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

Izveidosim komponentus ciklā, nododot viņiem parametru vārdu, uzvārdu, id un metodi dzēšanai:

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

Norādām ienākošos datus iestatījumā props un izsaukto notikumu iestatījumā emits:

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

Attēlosim komponenta priekšskatījumā lietotāja vārdu un uzvārdu:

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

Un tagad izveidosim pogu, kuras nospiešanas reizē tiks izsaukts notikums dzēšanai. Šī notikuma parametrā tiks nodots komponenta id. Vecākkomponents, saņemot notikumu, izdzēsīs doto lietotāju no objekta masīva un tas reaktīvi pazudīs no lietotāju saraksta.

Tātad, implementēsim šo pogu:

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

Attēlojiet ciklā komponentus Employee. Katrā komponentā izveidojiet pogu tā dzēšanai.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt