Đi tới nội dung tài liệu
Underverse UI Logo
ComponentComponent cơ bản

Button

Button thuộc nhóm Component cơ bản. Xem demo trực tiếp, cách tích hợp và các lưu ý triển khai.

Bắt đầu nhanh

Import Button 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 { Button } from '@underverse-ui/underverse';

Ví dụ tương tác

Dùng thử Button 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.

Button

Component
Thuộc tínhMô tảKiểuMặc định
onClickHàm xử lý khi click; có thể trả Promise (phù hợp với preventDoubleClick).(event: React.MouseEvent<HTMLButtonElement>) => void
childrenNội dung của nút.React.ReactNode
typeKiểu nút trong form."button" | "submit" | "reset""button"
iconIcon bên trái.React.ComponentType<{ className?: string }>
iconRightIcon bên phải.React.ComponentType<{ className?: string }>
variantKiểu giao diện của nút.keyof typeof VARIANT_STYLES_BTN"default"
sizeKích thước nút (bao gồm kiểu icon-only).keyof typeof SIZE_STYLES_BTN"md"
classNameClass tuỳ biến cho nút.string""
iConClassNameClass tuỳ biến cho icon trái.string""
disabledVô hiệu hoá nút.booleanfalse
loadingHiển thị trạng thái loading và khoá thao tác.booleanfalse
fullWidthChiếm toàn bộ chiều ngang container.booleanfalse
titleTooltip/native title; dự phòng cho aria-label.string
spinnerComponent spinner tuỳ biến khi loading.React.ComponentType<{ className?: string }>
loadingTextVăn bản hiển thị khi loading.React.ReactNode
preserveChildrenOnLoadingGiữ nguyên children khi loading.booleanfalse
preventDoubleClickChống double-click gửi lệnh liên tục.booleanfalse
lockMsThời gian khoá (ms) cho chống double-click.number600
asContainerTự do bố cục (không ép items-center).booleanfalse
noWrapKhông xuống dòng nội dung.booleantrue
noHoverOverlayTắt overlay gradient khi hover.booleanfalse
gradientBật nền gradient (tương đương variant="gradient").booleanfalse
borderModeMã nguồn chưa cung cấp mô tả bổ sung.BorderMode

Hướng dẫn sử dụng

Dùng Button như một khối giao diện nền tảng đáng tin cậy. Ưu tiên HTML có ngữ nghĩa, dùng biến thể có mục đích và không ghi đè các trạng thái truyền đạt ý nghĩa.

Trợ năng

Khi dùng Button, 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ế.