⊗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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否