Description List
WhereUIรายการ ป้าย:ค่า สำหรับหน้ารายละเอียด — จอแคบเรียงแนวตั้ง ตั้งแต่จอ sm ป้ายอยู่คอลัมน์ซ้ายค่าอยู่ขวา
- รหัสพนักงาน
- EMP-0142
- ชื่อ-สกุล
- สมชาย ใจดี
- ตำแหน่ง
- นักวิเคราะห์งานบุคคล (P3)
- แผนก
- ฝ่ายทรัพยากรบุคคล
- วันเริ่มงาน
- 1 เม.ย. 2565
- สถานะ
- ปฏิบัติงาน
ติดตั้ง
Terminal
pnpm dlx shadcn@latest add @whereui/description-listต้องผูก registry และติดตั้ง @whereui/theme นำหน้าเสมอเมื่อติดตั้งครั้งแรก
การใช้งาน
import { DescriptionList, DescriptionTerm, DescriptionDetails,} from "@/components/ui/description-list"<DescriptionList> <DescriptionTerm>ตำแหน่ง</DescriptionTerm> <DescriptionDetails>นักวิเคราะห์งานบุคคล</DescriptionDetails></DescriptionList>ตัวอย่างเพิ่มเติม
รายละเอียดคำขอลา
- ประเภทการลา
- ลากิจ (ไม่รับค่าจ้าง)
- ช่วงวันที่
- 18–19 พ.ย. 2569 (2 วัน)
- เหตุผล
- ไปงานแต่งงานญาติต่างจังหวัด
- ค่าจ้างที่หัก
- ฿2,378.00
Props
| prop | type | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| DescriptionList | React.ComponentProps<"dl"> | — | รายการหลัก — grid สองคอลัมน์ตั้งแต่ sm ปรับความกว้างคอลัมน์ป้ายได้ด้วย className เช่น sm:grid-cols-[8rem_1fr] |
| DescriptionTerm | React.ComponentProps<"dt"> | — | ป้าย สีเทา (dt) |
| DescriptionDetails | React.ComponentProps<"dd"> | — | ค่า (dd) — ใส่อะไรก็ได้ ทั้งข้อความ <Money> หรือ <StatusPill> |
ข้อควรรู้
- คู่ dt/dd ที่อยู่ติดกันจะเรียงลงในคอลัมน์ของตัวเองอัตโนมัติ — สลับลำดับไม่ได้
- ใช้ semantic <dl> โปรแกรมอ่านหน้าจอจับคู่ป้ายกับค่าให้เอง
ซอร์สโค้ด
components/ui/description-list.tsx
import * as React from "react"import { cn } from "cn"// รายการ ป้าย:ค่า สำหรับหน้ารายละเอียด — จอแคบเรียงแนวตั้ง ตั้งแต่ sm เป็นสองคอลัมน์function DescriptionList({ className, ...props}: React.ComponentProps<"dl">) { return ( <dl data-slot="description-list" className={cn( "grid grid-cols-1 gap-x-6 gap-y-2 sm:grid-cols-[12rem_1fr] sm:gap-y-3", className )} {...props} /> )}function DescriptionTerm({ className, ...props}: React.ComponentProps<"dt">) { return ( <dt data-slot="description-term" className={cn("text-sm text-muted-foreground sm:py-0.5", className)} {...props} /> )}function DescriptionDetails({ className, ...props}: React.ComponentProps<"dd">) { return ( <dd data-slot="description-details" className={cn("m-0 text-sm text-foreground", className)} {...props} /> )}export { DescriptionList, DescriptionTerm, DescriptionDetails }