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

Badge

Badge 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 Badge từ entry của gói Free. 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 { Badge } from '@underverse-ui/underverse';

Ví dụ tương tác

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

Badge

Component
Thuộc tínhMô tảKiểuMặc định
childrenNội dung badge.React.ReactNode—
variantKiểu giao diện của badge.| "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient""default"
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl""md"
classNameClass tuỳ biến cho badge.string—
dotHiển thị dạng chấm (không nội dung).booleanfalse
countSố đếm hiển thị.number—
maxCountNgưỡng tối đa trước khi hiển thị 99+.number99
showZeroHiển thị khi count = 0.booleanfalse
pulseBật hiệu ứng nhấp nháy.booleanfalse
removableHiển thị nút xoá (×).booleanfalse
onRemoveCallback khi xoá (nhấn ×).() => void—
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>—
clickableCho phép hover/click.booleanfalse
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void—

BadgeBase

Component
Thuộc tínhMô tảKiểuMặc định
childrenNội dung badge.React.ReactNode—
variantKiểu giao diện của badge.| "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient""default"
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl""md"
classNameClass tuỳ biến cho badge.string—
dotHiển thị dạng chấm (không nội dung).booleanfalse
countSố đếm hiển thị.number—
maxCountNgưỡng tối đa trước khi hiển thị 99+.number99
showZeroHiển thị khi count = 0.booleanfalse
pulseBật hiệu ứng nhấp nháy.booleanfalse
removableHiển thị nút xoá (×).booleanfalse
onRemoveCallback khi xoá (nhấn ×).() => void—
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>—
clickableCho phép hover/click.booleanfalse
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void—

GradientBadge

Component
Thuộc tínhMô tảKiểuMặc định
fromMã nguồn chưa cung cấp mô tả bổ sung.string"from-primary"
toMã nguồn chưa cung cấp mô tả bổ sung.string"to-secondary"
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void—
childrenNội dung badge.React.ReactNode—
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>—
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl"—
classNameClass tuỳ biến cho badge.string—
dotHiển thị dạng chấm (không nội dung).boolean—
countSố đếm hiển thị.number—
maxCountNgưỡng tối đa trước khi hiển thị 99+.number—
showZeroHiển thị khi count = 0.boolean—
pulseBật hiệu ứng nhấp nháy.boolean—
removableHiển thị nút xoá (×).boolean—
onRemoveCallback khi xoá (nhấn ×).() => void—
clickableCho phép hover/click.boolean—

InteractiveBadge

Component
Thuộc tínhMô tảKiểuMặc định
activeMã nguồn chưa cung cấp mô tả bổ sung.booleanfalse
disabledMã nguồn chưa cung cấp mô tả bổ sung.booleanfalse
childrenNội dung badge.React.ReactNode—
variantKiểu giao diện của badge.| "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient""outline"
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl"—
classNameClass tuỳ biến cho badge.string—
dotHiển thị dạng chấm (không nội dung).boolean—
countSố đếm hiển thị.number—
maxCountNgưỡng tối đa trước khi hiển thị 99+.number—
showZeroHiển thị khi count = 0.boolean—
pulseBật hiệu ứng nhấp nháy.boolean—
removableHiển thị nút xoá (×).boolean—
onRemoveCallback khi xoá (nhấn ×).() => void—
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>—
clickableCho phép hover/click.boolean—
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void—

NotificationBadge

Component
Thuộc tínhMô tảKiểuMặc định
childrenBắt buộcNội dung badge.React.ReactNodeBắt buộc
countSố đếm hiển thị.number—
maxCountNgưỡng tối đa trước khi hiển thị 99+.number99
showZeroHiển thị khi count = 0.booleanfalse
dotHiển thị dạng chấm (không nội dung).booleanfalse
variantKiểu giao diện của badge.BadgeProps["variant"]"danger"
sizeKích thước badge.BadgeProps["size"]"sm"
classNameClass tuỳ biến cho badge.string—
badgeClassNameMã nguồn chưa cung cấp mô tả bổ sung.string—
positionMã nguồn chưa cung cấp mô tả bổ sung."top-right" | "top-left" | "bottom-right" | "bottom-left""top-right"
pulseBật hiệu ứng nhấp nháy.booleanfalse

PulseBadge

Component
Thuộc tínhMô tảKiểuMặc định
speedMã nguồn chưa cung cấp mô tả bổ sung."slow" | "normal" | "fast""normal"
childrenNội dung badge.React.ReactNode—
variantKiểu giao diện của badge.| "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient"—
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl"—
classNameClass tuỳ biến cho badge.string—
dotHiển thị dạng chấm (không nội dung).boolean—
countSố đếm hiển thị.number—
maxCountNgưỡng tối đa trước khi hiển thị 99+.number—
showZeroHiển thị khi count = 0.boolean—
pulseBật hiệu ứng nhấp nháy.boolean—
removableHiển thị nút xoá (×).boolean—
onRemoveCallback khi xoá (nhấn ×).() => void—
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>—
clickableCho phép hover/click.boolean—
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void—

StatusBadge

Component
Thuộc tínhMô tảKiểuMặc định
statusMã nguồn chưa cung cấp mô tả bổ sung."online" | "offline" | "busy" | "away" | "idle""offline"
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void—
childrenNội dung badge.React.ReactNode—
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>—
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl"—
classNameClass tuỳ biến cho badge.string—
dotHiển thị dạng chấm (không nội dung).boolean—
countSố đếm hiển thị.number—
maxCountNgưỡng tối đa trước khi hiển thị 99+.number—
showZeroHiển thị khi count = 0.boolean—
pulseBật hiệu ứng nhấp nháy.boolean—
removableHiển thị nút xoá (×).boolean—
onRemoveCallback khi xoá (nhấn ×).() => void—
clickableCho phép hover/click.boolean—

TagBadge

Component
Thuộc tínhMô tảKiểuMặc định
tagsMã nguồn chưa cung cấp mô tả bổ sung.string[][]
onTagRemoveMã nguồn chưa cung cấp mô tả bổ sung.(tag: string) => void—
maxTagsMã nguồn chưa cung cấp mô tả bổ sung.number3
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void—
childrenNội dung badge.React.ReactNode—
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>—
variantKiểu giao diện của badge.| "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient""outline"
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl""sm"
classNameClass tuỳ biến cho badge.string—
dotHiển thị dạng chấm (không nội dung).boolean—
countSố đếm hiển thị.number—
maxCountNgưỡng tối đa trước khi hiển thị 99+.number—
showZeroHiển thị khi count = 0.boolean—
pulseBật hiệu ứng nhấp nháy.boolean—
onRemoveCallback khi xoá (nhấn ×).() => void—
clickableCho phép hover/click.boolean—

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

Dùng Badge 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 Badge, 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ế.