ComponentForm Input
Bắt đầu nhanh
Import Textarea 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 { Textarea } from '@underverse-ui/underverse';Ví dụ tương tác
Dùng thử Textarea 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.
Textarea
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
label | Nhãn textarea. | string | — |
labelClassName | Custom class for label | string | — |
error | Thông báo lỗi. | string | — |
description | Mô tả ngắn bên dưới. | string | — |
variant | Kiểu hiển thị. | "default" | "filled" | "outlined" | "minimal" | "default" |
size | Kích thước. | "sm" | "md" | "lg" | "md" |
borderMode | Mã nguồn chưa cung cấp mô tả bổ sung. | BorderMode | — |
resize | Mã nguồn chưa cung cấp mô tả bổ sung. | "none" | "vertical" | "horizontal" | "both" | "vertical" |
counter | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | false |
useOverlayScrollbar | Enable OverlayScrollbars on textarea viewport. Default: false | boolean | false |
Input
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
label | Nhãn hiển thị phía trên ô nhập. | string | — |
labelClassName | Custom class for label | string | — |
error | Thông báo lỗi hiển thị bên dưới. | string | — |
description | Mô tả/hỗ trợ hiển thị bên dưới. | string | — |
variant | Kiểu hiển thị (default, filled, outlined, minimal). | "default" | "filled" | "outlined" | "minimal" | "default" |
size | Kích thước (sm, md, lg). | FormControlSize | "md" |
borderMode | Mã nguồn chưa cung cấp mô tả bổ sung. | BorderMode | — |
leftIcon | Icon bên trái trong ô. | React.ComponentType<{ className?: string }> | — |
rightIcon | Icon bên phải trong ô. | React.ComponentType<{ className?: string }> | — |
clearable | Hiện nút xóa (X) khi có giá trị. | boolean | false |
loading | Hiển thị trạng thái đang tải. | boolean | false |
success | Hiển thị trạng thái thành công. | boolean | false |
onClear | Callback khi bấm nút xóa. | () => void | — |
hint | Gợi ý nhỏ bên dưới. | string | — |
counter | Hiển thị bộ đếm ký tự khi có maxLength. | boolean | false |
maxLength | Số lượng ký tự tối đa. | number | — |
rightAddon | Custom content rendered inside the input container (positioned absolutely) | React.ReactNode | — |
rightSection | Custom content attached to the end of the input, after built-in controls | React.ReactNode | — |
NumberInput
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
min | Giá trị nhỏ nhất. | number | — |
max | Giá trị lớn nhất. | number | — |
step | Bước tăng/giảm. | number | 1 |
showSteppers | Hiển thị nút tăng/giảm +/–. | boolean | true |
onIncrement | Trình xử lý tăng tùy chỉnh (tùy chọn). | () => void | — |
onDecrement | Trình xử lý giảm tùy chỉnh (tùy chọn). | () => void | — |
formatThousands | Định dạng phân tách hàng nghìn để hiển thị. | boolean | false |
locale | Locale để định dạng số. | string | "vi-VN" |
value | Giá trị số/chuỗi điều khiển. | number | string | — |
onChange | Hàm xử lý thay đổi nhận sự kiện input. | React.ChangeEventHandler<HTMLInputElement> | — |
variant | Kiểu hiển thị. | "default" | "filled" | "outlined" | "minimal" | — |
size | Kích thước. | FormControlSize | — |
loading | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | — |
borderMode | Mã nguồn chưa cung cấp mô tả bổ sung. | BorderMode | — |
success | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | — |
description | Mô tả ngắn bên dưới. | string | — |
error | Thông báo lỗi. | string | — |
maxLength | Giới hạn ký tự. | number | — |
label | Nhãn textarea. | string | — |
labelClassName | Custom class for label | string | — |
leftIcon | Mã nguồn chưa cung cấp mô tả bổ sung. | React.ComponentType<{ className?: string }> | — |
rightIcon | Mã nguồn chưa cung cấp mô tả bổ sung. | React.ComponentType<{ className?: string }> | — |
clearable | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | — |
onClear | Mã nguồn chưa cung cấp mô tả bổ sung. | () => void | — |
hint | Mã nguồn chưa cung cấp mô tả bổ sung. | string | — |
counter | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | — |
rightAddon | Custom content rendered inside the input container (positioned absolutely) | React.ReactNode | — |
rightSection | Custom content attached to the end of the input, after built-in controls | React.ReactNode | — |
PasswordInput
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
showStrength | Hiển thị thanh đánh giá độ mạnh mật khẩu. | boolean | false |
strengthLabels | Nhãn cho các mức độ (Yếu, Trung bình, Tốt, Mạnh). | string[] | ["Weak", "Fair", "Good", "Strong"] |
variant | Kiểu hiển thị. | "default" | "filled" | "outlined" | "minimal" | — |
size | Kích thước. | FormControlSize | — |
loading | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | — |
borderMode | Mã nguồn chưa cung cấp mô tả bổ sung. | BorderMode | — |
success | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | — |
description | Mô tả ngắn bên dưới. | string | — |
error | Thông báo lỗi. | string | — |
maxLength | Giới hạn ký tự. | number | — |
label | Nhãn textarea. | string | — |
labelClassName | Custom class for label | string | — |
leftIcon | Mã nguồn chưa cung cấp mô tả bổ sung. | React.ComponentType<{ className?: string }> | — |
rightIcon | Mã nguồn chưa cung cấp mô tả bổ sung. | React.ComponentType<{ className?: string }> | — |
clearable | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | — |
onClear | Mã nguồn chưa cung cấp mô tả bổ sung. | () => void | — |
hint | Mã nguồn chưa cung cấp mô tả bổ sung. | string | — |
counter | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | — |
rightAddon | Custom content rendered inside the input container (positioned absolutely) | React.ReactNode | — |
rightSection | Custom content attached to the end of the input, after built-in controls | React.ReactNode | — |
SearchInput
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
mode | Search interaction style. `default` searches as the value changes; `button` searches on Enter or button click. | "default" | "button" | "default" |
onSearch | Mã nguồn chưa cung cấp mô tả bổ sung. | (value: string) => void | — |
searchDelay | Debounce duration for `default` mode. Ignored in `button` mode. | number | 300 |
searchButtonLabel | Accessible label for the search action in `button` mode. | string | "Search" |
variant | Kiểu hiển thị. | "default" | "filled" | "outlined" | "minimal" | — |
size | Kích thước. | FormControlSize | "md" |
loading | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | false |
borderMode | Mã nguồn chưa cung cấp mô tả bổ sung. | BorderMode | — |
success | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | — |
description | Mô tả ngắn bên dưới. | string | — |
error | Thông báo lỗi. | string | — |
maxLength | Giới hạn ký tự. | number | — |
label | Nhãn textarea. | string | — |
labelClassName | Custom class for label | string | — |
rightIcon | Mã nguồn chưa cung cấp mô tả bổ sung. | React.ComponentType<{ className?: string }> | — |
clearable | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | true |
onClear | Mã nguồn chưa cung cấp mô tả bổ sung. | () => void | — |
hint | Mã nguồn chưa cung cấp mô tả bổ sung. | string | — |
counter | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | — |
rightAddon | Custom content rendered inside the input container (positioned absolutely) | React.ReactNode | — |
rightSection | Custom content attached to the end of the input, after built-in controls | React.ReactNode | — |
Hướng dẫn sử dụng
Kết nối Textarea 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 Textarea, 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ế.
