⊗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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել