Textarea
จาก shadcnช่องกรอกข้อความหลายบรรทัด เช่น เหตุผลการลาหรือรายละเอียดค่าใช้จ่าย ความสูงขยายตามเนื้อหาอัตโนมัติ
ระบุเหตุผลโดยย่อ ผู้อนุมัติจะเห็นข้อความนี้ในหน้าพิจารณา
ติดตั้ง
Terminal
pnpm dlx shadcn@latest add @whereui/textareaต้องผูก registry และติดตั้ง @whereui/theme นำหน้าเสมอเมื่อติดตั้งครั้งแรก
การใช้งาน
import { Textarea } from "@/components/ui/textarea"<Textarea placeholder="อธิบายเหตุผลการลา…" />ตัวอย่างเพิ่มเติม
สถานะปิดใช้งานและค่าไม่ถูกต้อง
กรุณาแยกบาท–สตางค์และแนบใบเสร็จประกอบทุกรายการ
ข้อควรรู้
- ความสูงปรับตามจำนวนบรรทัดที่พิมพ์ (field-sizing: content) จึงไม่ต้องกดเลื่อนดูข้อความที่ยาว
- ใส่ aria-invalid เมื่อค่าไม่ผ่านการตรวจสอบ กรอบจะเน้นสีแดงพร้อม ring ให้เห็นชัด
ซอร์สโค้ด
components/ui/textarea.tsx
import * as React from "react"import { cn } from "cn"function Textarea({ className, ...props }: React.ComponentProps<"textarea">) { return ( <textarea data-slot="textarea" className={cn( "flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", className )} {...props} /> )}export { Textarea }