ตัวอย่างการ search แล้ว filter ข้อมูลที่ต้องการ โดยใช้ Alpine.js
#alpinejs3 ต.ค. 2567
ตัวอย่างการ search แล้ว filter ข้อมูลที่ต้องการ โดยใช้ Alpine.js
เราไปดูวิธีการ search แล้ว filter ข้อมูลกันครับ ไปดูตัวอย่างโค้ดกันเลย
<div
x-data="{
search: '',
items: ['foo', 'bar', 'baz'],
get filteredItems() {
return this.items.filter(
i => i.startsWith(this.search)
)
}
}"
>
<input x-model="search" placeholder="Search...">
<ul>
<template x-for="item in filteredItems" :key="item">
<li x-text="item"></li>
</template>
</ul>
</div>
จากโค้ด เราจะกำหนด x-data โดยมี
- search ไว้สำหรับกรอกข้อมูลที่ค้นหา
- items เป็นข้อมูล array ทั้งหมด
- filteredItems เป็นฟังก์ชันสำหรับค้นหาข้อมูลตามการ search
เรามี input โดยเราจะใช้ x-model กับตัวแปร search เพื่อ map value input กับตัวแปร search จากนั้นเราก็มี template เพื่อสำหรับ loop ข้อมุล โดยเราจะ loop ข้อมูลตามฟังก์ชัน filteredItems แล้วทำการแสดงข้อมูล