ปุ่มสำหรับลบออกจากอาร์เรย์ของอ็อบเจกต์ใน Vue
ตอนนี้มาลองสร้างปุ่ม สำหรับลบข้อมูลออกจากอาร์เรย์ของอ็อบเจกต์กัน เริ่มลงมือทำกันเลย สมมติว่ามีอาร์เรย์ดังต่อไปนี้:
data() {
return {
users: [
{
id: 1,
name: 'name1',
surn: 'surn1',
},
{
id: 2,
name: 'name2',
surn: 'surn2',
},
{
id: 3,
name: 'name3',
surn: 'surn3',
},
]
}
}
มาแสดงเนื้อหาของอาร์เรย์ ในรูปแบบลิสต์กัน:
<template>
<ul>
<li v-for="user in users" :key="user.id">
{{ user.name }}
{{ user.surn }}
</li>
</ul>
</template>
มาใส่ปุ่มสำหรับลบในแต่ละรายการของลิสต์กัน
ในปุ่มนี้เราจะผูก
เมธอด โดยส่งพารามิเตอร์ซึ่งคือ
id ขององค์ประกอบอาร์เรย์
ที่เราต้องการจะลบ:
<template>
<ul>
<li v-for="user in users" :key="user.id">
{{ user.name }}
{{ user.surn }}
<button @click="removeItem(user.id)">remove</button>
</li>
</ul>
</template>
มาเขียนโค้ดการลบในเมธอด removeItem:
methods: {
removeItem: function(id) {
this.users = this.users.filter((user) => {
return user.id !== id;
})
}
}
มีอาร์เรย์ข้อมูลพนักงานดังต่อไปนี้:
data() {
return {
users: [
{
id: 1,
name: 'name1',
salary: 100,
age: 30,
},
{
id: 2,
name: 'name2',
salary: 200,
age: 40,
},
{
id: 3,
name: 'name3',
salary: 300,
age: 50,
},
],
}
}
แสดงข้อมูลพนักงานในรูปแบบ ตาราง HTML สร้างคอลัมน์ที่มี ลิงก์สำหรับลบพนักงานออก