⊗jsvuPmCmRR 68 of 72 menu

Reaktyvus komponentų pašalinimas Vue

Išmokime reaktyviai pašalinti vaikinius komponentus iš sąrašo. Kiekviename vaikiniame komponente sukurkime specialų mygtuką. Paspaudus šį mygtuką bus išskiriamas įvykis ir pagrindiniame komponente bus pašalinamas nurodytas vaikinis komponentas pagal jo id.

Pradėkime įgyvendinimą. Tegul pagrindiniame komponente yra toks objektų masyvas:

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

Pagrindiniame komponente parašykime naudotojo pašalinimo metodą pagal jo id:

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

Sukurkime komponentus cikle, perduodant jiems parametrą vardą, pavardę, id ir pašalinimo metodą:

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

Nurodykime gaunamus duomenis props nustatyme ir išskiriamą įvykį emits nustatyme:

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

Komponento vaizde atvaizduokime naudotojo vardą ir pavardę:

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

Dabar sukurkime mygtuką, kurį paspaudus bus išskiriamas pašalinimo įvykis. Šio įvykio parametru bus perduodamas komponento id. Pagrindinis komponentas gavęs įvykį pašalins šį naudotoją iš objektų masyvo ir jis reaktyviai dings iš naudotojų sąrašo.

Taigi, įgyvendinkime šį mygtuką:

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

Atvaizduokite cikle komponentus Employee. Kiekviename komponente sukurkite mygtuką jo pašalinimui.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti