⊗jsvuPmCmRR 68 of 72 menu

Vue'da Reaktif Bileşen Silme

Listeden alt bileşenleri reaktif bir şekilde silmeyi öğrenelim. Bunun için her alt bileşende özel bir buton yapalım. Bu butona tıklandığında bir olay tetiklenecek ve ana bileşende belirli bir alt bileşen, onun id değerine göre silinecek.

Uygulamaya geçelim. Ana bileşende aşağıdaki nesne dizisi bulunsun:

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

Ana bileşende, kullanıcıyı id değerine göre silen bir metot yazalım:

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

Bileşenleri bir döngü içinde oluşturalım, onlara parametre olarak adı, soyadı, id ve silme metodunu ileterek:

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

Gelen verileri props yapılandırmasında ve tetiklenen olayı emits yapılandırmasında tanımlayalım:

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

Bileşenin şablonunda kullanıcının adını ve soyadını gösterelim:

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

Şimdi, tıklandığında silme işlemi için bir olay tetikleyen bir buton yapalım. Bu olayın parametresi olarak bileşenin id değeri iletilecek. Ana bileşen, olayı aldığında ilgili kullanıcıyı nesne dizisinden silecek ve o, kullanıcı listesinden reaktif bir şekilde kaybolacak.

Şimdi, bu butonu uygulayalım:

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

Bir döngü içinde Employee bileşenlerini gösterin. Her bileşende, onu silmek için bir buton yapın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet