ComponentForm Input
Bắt đầu nhanh
Import TagInput từ entry công khai. Các ví dụ bên dưới thể hiện những kiểu tương tác và cấu hình được hỗ trợ.
component.tsxtsx
import { TagInput } from '@underverse-ui/underverse';Ví dụ tương tác
Dùng thử TagInput thật, xem mã ví dụ và tra cứu các prop đã được mô tả.
Đang tải ví dụ tương tác…
Tham chiếu
Tham chiếu API
Tra cứu các thuộc tính, kiểu dữ liệu được chấp nhận, giá trị mặc định và lưu ý về hành vi.
Dữ liệu được sinh từ API TypeScript công khai của thư viện. Kiểu dữ liệu, thuộc tính bắt buộc và giá trị mặc định luôn đồng bộ với mã nguồn.
TagInput
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
valueBắt buộc | Danh sách tags hiện tại | string[] | [] |
onChangeBắt buộc | Callback khi danh sách tags thay đổi | (tags: string[]) => void | Bắt buộc |
onSearchBắt buộc | Callback khi user muốn tìm kiếm (Ctrl+Enter hoặc click Search) | (tags: string[]) => void | Bắt buộc |
onClear | Callback when all tags are cleared | () => void | — |
placeholder | Placeholder khi chưa có tags | string | — |
placeholderWithTags | Placeholder khi đã có tags | string | — |
label | Label hiển thị phía trên input | string | — |
labelClassName | Custom class for label | string | — |
hideSearchButton | Ẩn nút Search | boolean | false |
hideClearButton | Ẩn nút Clear All | boolean | false |
className | Custom class cho container | string | — |
size | Size: 'sm' | 'md' | 'lg' | FormControlSize | "md" |
disabled | Disabled state | boolean | false |
loading | Loading state - hiển thị spinner trên nút Search | boolean | false |
maxTags | Maximum number of tags allowed | number | — |
labels | i18n labels - no external dependency required | { search?: string; clearAll?: string; placeholder?: string; placeholderWithTags?: string; moreCount?: string; // e.g. "+{count} more" - use {count} as placeholder } | — |
maxVisibleTags | Maximum visible tags before showing "+N more" badge | number | — |
borderMode | Mã nguồn chưa cung cấp mô tả bổ sung. | BorderMode | — |
TagInputBase
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
valueBắt buộc | Danh sách tags hiện tại | string[] | [] |
onChangeBắt buộc | Callback khi danh sách tags thay đổi | (tags: string[]) => void | Bắt buộc |
onSearchBắt buộc | Callback khi user muốn tìm kiếm (Ctrl+Enter hoặc click Search) | (tags: string[]) => void | Bắt buộc |
onClear | Callback when all tags are cleared | () => void | — |
placeholder | Placeholder khi chưa có tags | string | — |
placeholderWithTags | Placeholder khi đã có tags | string | — |
label | Label hiển thị phía trên input | string | — |
labelClassName | Custom class for label | string | — |
hideSearchButton | Ẩn nút Search | boolean | false |
hideClearButton | Ẩn nút Clear All | boolean | false |
className | Custom class cho container | string | — |
size | Size: 'sm' | 'md' | 'lg' | FormControlSize | "md" |
disabled | Disabled state | boolean | false |
loading | Loading state - hiển thị spinner trên nút Search | boolean | false |
maxTags | Maximum number of tags allowed | number | — |
labels | i18n labels - no external dependency required | { search?: string; clearAll?: string; placeholder?: string; placeholderWithTags?: string; moreCount?: string; // e.g. "+{count} more" - use {count} as placeholder } | — |
maxVisibleTags | Maximum visible tags before showing "+N more" badge | number | — |
borderMode | Mã nguồn chưa cung cấp mô tả bổ sung. | BorderMode | — |
Hướng dẫn sử dụng
Kết nối TagInput với nhãn hiển thị, thông báo xác thực và trạng thái form rõ ràng. Không dùng placeholder làm nhãn duy nhất.
Trợ năng
Khi dùng TagInput, hãy giữ trạng thái focus dễ nhận biết, cung cấp tên truy cập khi cần và kiểm tra bàn phím cùng trình đọc màn hình trong ngữ cảnh thực tế.
