คอมโพเนนต์ทั้งหมด
Input
ช่องกรอกบรรทัดเดียว มีไอคอนนำหน้าและปุ่มท้ายช่อง
ui/field.tsxServer safeพื้นฐาน
<Field label="ชื่อที่แสดง">
<Input autoComplete="name" />
</Field>ไอคอนนำหน้า
ไอคอนเป็นของตกแต่ง ใช้บอกชนิดของช่อง เช่น ค้นหาหรืออีเมล
<Input type="search" start={<MagnifyingGlass />} placeholder="พิมพ์ชื่อคอร์สหรือหัวข้อ" />ปุ่มท้ายช่อง
ส่งปุ่มผ่าน action เช่น แสดงรหัสผ่าน ปุ่มยังกดได้ด้วยคีย์บอร์ด
อย่างน้อย 10 ตัวอักษร
<Input
type={shown ? "text" : "password"}
action={
<Button size="sm" variant="ghost" iconOnly aria-pressed={shown}
aria-label={shown ? "ซ่อนรหัสผ่าน" : "แสดงรหัสผ่าน"} onClick={toggle}>
{shown ? <EyeSlash /> : <Eye />}
</Button>
}
/>ขนาดและสถานะ
<Input size="sm" />
<Input />
<Input size="lg" />
<Input disabled />
<Input readOnly />Props
| Prop | Type | Default | คำอธิบาย |
|---|---|---|---|
size | "sm" | "md" | "lg" | "md" | ความสูง 36 / 44 / 52 px |
start | ReactNode | - | ไอคอนตกแต่งด้านหน้า |
end | ReactNode | - | ไอคอนตกแต่งด้านหลัง |
action | ReactNode | - | ปุ่มภายในขอบขวา |
...props | InputHTMLAttributes | - | type, autoComplete, inputMode และอื่นๆ |
การเข้าถึง
- ตั้ง type, inputMode และ autoComplete ให้ตรงชนิดข้อมูล มือถือจะเปิดคีย์บอร์ดที่ถูกต้อง
- ขอบช่องมีคอนทราสต์อย่างน้อย 3:1 กับพื้น ทั้งสองแบรนด์และสองธีม
- ตัวอักษรขนาด 16 px ขึ้นไป iOS จึงไม่ซูมเมื่อแตะ