Salt la conținutul principal

Prezentare generală

ReactionButton compune Button într-o reacție emoji compactă cu un număr. Aplicația dvs. furnizează starea apăsată, numele accesibil și gestionarul de modificări.

Utilizare

Aspect

Controlul are înălțimea de 24 px, cu colțuri rotunjite, un emoji de 16 px și un număr mic. Reacțiile apăsate folosesc suprafața și textul de accent ale temei. Reacțiile neapăsate folosesc o suprafață transparentă și text secundar. count acceptă un număr sau un șir formatat de apelant. Aplicația dvs. gestionează formatarea numerelor, abrevierea și dacă se afișează o reacție cu numărul zero.

Gestionarea stării

pressed este obligatoriu și este controlat de aplicația dvs. Activarea apelează onPressedChange cu următoarea valoare solicitată. Componenta continuă să afișeze valorile furnizate pentru pressed și count până când aplicația dvs. le actualizează. Setați loading cât timp o mutație este în așteptare pentru a afișa indicatorul de încărcare al Button și a preveni activarea repetată. Aceasta păstrează valoarea furnizată pentru pressed și marchează controlul ca ocupat. Utilizați disabled când reacția este indisponibilă. Selectarea, numerele, permisiunile, persistența și orice actualizări optimiste rămân în aplicație. onClick nativ se execută înaintea solicitării de modificare. Apelarea event.preventDefault() în acel gestionar anulează solicitarea. Alte atribute, gestionare, stiluri, nume de clase și referințe ale butonului nativ sunt transmise butonului. Controlul utilizează întotdeauna type="button".

Accesibilitate și indicații contextuale

Furnizați aria-label sau aria-labelledby cu un nume localizat al reacției. Emoji-ul și numărul sunt decorative și ascunse de tehnologia de asistență, așadar includeți informații despre număr sau participanți în numele ori descrierea furnizată, când este necesar. Păstrați numele reacției stabil pe măsură ce starea sa se modifică; aria-pressed comunică selectarea. Butonul nativ acceptă focalizarea cu Tab și activarea cu Enter sau Spațiu. Atât disabled, cât și loading împiedică activarea. Referința indică butonul nativ. Compuneți Tooltip pentru detalii despre participanți la trecerea cu cursorul și la focalizarea de la tastatură, după cum se arată mai sus, sau transmiteți un title nativ. Conținutul indicației contextuale aparține apelantului și nu înlocuiește numele accesibil. Etichetele accesibile lungi nu măresc controlul vizibil.

Proprietăți

string
Accessible name describing the reaction. Required unless aria-labelledby supplies the name.
string
ID of the element supplying the accessible name. Can be used instead of aria-label.
string | number
obligatoriu
Displayed count. Pass a string for localized or abbreviated formatting. Hidden from assistive technology.
boolean
implicit:"false"
Disables the native button and prevents activation.
string
obligatoriu
Emoji displayed beside the count. Hidden from assistive technology.
boolean
implicit:"false"
Shows a loading indicator, sets aria-busy, and prevents activation without changing the supplied pressed state.
MouseEventHandler<HTMLButtonElement>
Native click handler called before onPressedChange. Calling preventDefault() cancels the change request.
(pressed: boolean) => void
obligatoriu
Requests the next pressed state after activation. The caller updates pressed and count.
boolean
obligatoriu
Controlled selection state. Sets the selected appearance and aria-pressed.
string
Optional native tooltip text supplied by the caller.