Przejdź do treści głównej
Wersja: 0.80

TouchableWithoutFeedback

Nieoficjalne Tłumaczenie Beta

Ta strona została przetłumaczona przez PageTurner AI (beta). Nie jest oficjalnie zatwierdzona przez projekt. Znalazłeś błąd? Zgłoś problem →

Jeśli szukasz bardziej rozbudowanego i przyszłościowego sposobu obsługi wprowadzania danych za pomocą dotyku, zapoznaj się z API Pressable.

Nie używaj tego komponentu, chyba że masz naprawdę dobry powód. Wszystkie elementy reagujące na dotyk powinny zapewniać wizualną informację zwrotną podczas interakcji.

TouchableWithoutFeedback obsługuje tylko jedno dziecko. Jeśli chcesz użyć wielu komponentów potomnych, opakuj je w komponent View. Co istotne, TouchableWithoutFeedback działa poprzez klonowanie swojego dziecka i aplikowanie do niego właściwości odpowiadające na interakcje. Wymaga to, aby wszystkie pośrednie komponenty przekazywały te właściwości do podstawowego komponentu React Native.

Wzorzec użycia

tsx
function MyComponent(props: MyComponentProps) {
return (
<View {...props} style={{flex: 1, backgroundColor: '#fff'}}>
<Text>My Component</Text>
</View>
);
}

<TouchableWithoutFeedback onPress={() => alert('Pressed!')}>
<MyComponent />
</TouchableWithoutFeedback>;

Przykład


Dokumentacja

Właściwości

accessibilityIgnoresInvertColors
iOS

Wartość wskazująca, czy ten widok powinien być inwertowany, gdy włączona jest inwersja kolorów. Wartość true spowoduje, że widok nie zostanie odwrócony nawet przy włączonej inwersji kolorów.

Więcej informacji znajdziesz w przewodniku o ułatwieniach dostępu.

Type
Boolean

accessible

Gdy true, wskazuje że widok jest elementem ułatwień dostępu. Domyślnie wszystkie elementy dotykowe są dostępne.

Type
bool

accessibilityLabel

Nadpisuje tekst odczytywany przez czytnik ekranu, gdy użytkownik wchodzi w interakcję z elementem. Domyślnie etykieta jest konstruowana poprzez przejście wszystkich dzieci i zebranie wszystkich węzłów Text oddzielonych spacją.

Type
string

accessibilityLanguage
iOS

Wartość określająca język używany przez czytnik ekranu podczas interakcji użytkownika z elementem. Powinna być zgodna ze specyfikacją BCP 47.

Więcej informacji znajdziesz w dokumentacji accessibilityLanguage dla iOS.

Type
string

accessibilityHint

Podpowiedź ułatwień dostępu pomaga użytkownikom zrozumieć, co się stanie, gdy wykonają akcję na elemencie ułatwień dostępu, gdy wynik nie jest jasny z etykiety ułatwień dostępu.

Type
string

accessibilityRole

accessibilityRole komunikuje cel komponentu użytkownikowi technologii asystujących.

accessibilityRole może przyjmować jedną z następujących wartości:

  • 'none' - Używane gdy element nie pełni żadnej roli.

  • 'button' - Używane gdy element powinien być traktowany jak przycisk.

  • 'link' - Używane gdy element powinien być traktowany jak odnośnik.

  • 'search' - Używane gdy pole tekstowe powinno być również traktowane jako pole wyszukiwania.

  • 'image' - Używane gdy element powinien być traktowany jako obraz. Może być łączone z przyciskiem lub odnośnikiem.

  • 'keyboardkey' - Używane gdy element działa jak klawisz klawiatury.

  • 'text' - Używane gdy element powinien być traktowany jako statyczny tekst, który nie może się zmieniać.

  • 'adjustable' - Używane gdy element może być "regulowany" (np. suwak).

  • 'imagebutton' - Używane gdy element powinien być traktowany jako przycisk i jednocześnie jest obrazem.

  • 'header' - Używane gdy element pełni rolę nagłówka sekcji treści (np. tytuł paska nawigacyjnego).

  • 'summary' - Używane gdy element może dostarczyć szybkiego podsumowania bieżących warunków w aplikacji przy pierwszym uruchomieniu.

  • 'alert' - Używane gdy element zawiera ważny tekst do przedstawienia użytkownikowi.

  • 'checkbox' - Używane gdy element reprezentuje pole wyboru, które może być zaznaczone, odznaczone lub w stanie mieszanym.

  • 'combobox' - Używane gdy element reprezentuje pole kombi, pozwalające wybierać spośród kilku opcji.

  • 'menu' - Używane gdy komponent jest menu wyboru.

  • 'menubar' - Używane gdy komponent jest kontenerem wielu menu.

  • 'menuitem' - Używane do reprezentowania elementu w menu.

  • 'progressbar' - Używane do reprezentowania komponentu pokazującego postęp zadania.

  • 'radio' - Używane do reprezentowania przycisku opcji.

  • 'radiogroup' - Używane do reprezentowania grupy przycisków opcji.

  • 'scrollbar' - Używane do reprezentowania paska przewijania.

  • 'spinbutton' - Używane do reprezentowania przycisku otwierającego listę wyboru.

  • 'switch' - Używane do reprezentowania przełącznika, który można włączać i wyłączać.

  • 'tab' - Używane do reprezentowania zakładki.

  • 'tablist' - Używane do reprezentowania listy zakładek.

  • 'timer' - Używane do reprezentowania timera.

  • 'toolbar' - Używane do reprezentowania paska narzędzi (kontenera przycisków akcji lub komponentów).

Type
string

accessibilityState

Opisuje bieżący stan komponentu użytkownikowi technologii asystujących.

Więcej informacji znajdziesz w przewodniku o ułatwieniach dostępu.

Type
object: {disabled: bool, selected: bool, checked: bool or 'mixed', busy: bool, expanded: bool}

accessibilityActions

Akcje ułatwień dostępu pozwalają technologiom asystującym na programowe wywoływanie akcji komponentu. Właściwość accessibilityActions powinna zawierać listę obiektów akcji. Każdy obiekt akcji powinien zawierać pola name i label.

Więcej informacji znajdziesz w przewodniku o ułatwieniach dostępu.

Type
array

aria-busy

Wskazuje, że element jest modyfikowany, a technologie asystujące powinny zaczekać z powiadomieniem użytkownika do zakończenia zmian.

TypeDefault
booleanfalse

aria-checked

Wskazuje stan elementu z możliwością zaznaczenia. Przyjmuje wartość logiczną lub ciąg "mixed" dla pól wyboru w stanie mieszanym.

TypeDefault
boolean, 'mixed'false

aria-disabled

Wskazuje, że element jest widoczny, ale wyłączony - nie można go edytować ani obsługiwać.

TypeDefault
booleanfalse

aria-expanded

Wskazuje, czy rozwijany element jest aktualnie rozwinięty czy zwinięty.

TypeDefault
booleanfalse

aria-hidden

Wskazuje, czy element jest ukryty przed technologiami asystującymi.

Przykładowo, w oknie zawierającym rodzeństwo widoków A i B, ustawienie aria-hidden na true dla widoku B powoduje, że VoiceOver ignoruje element B i jego elementy potomne.

TypeDefault
booleanfalse

aria-label

Definiuje wartość tekstową etykietującą interaktywny element.

Type
string

aria-live
Android

Wskazuje, że element zostanie zaktualizowany i opisuje rodzaje aktualizacji, których agenty użytkownika, technologie asystujące i użytkownik mogą się spodziewać po regionie aktywnym.

  • off Usługi dostępności nie powinny ogłaszać zmian w tym widoku.

  • polite Usługi dostępności powinny ogłaszać zmiany w tym widoku.

  • assertive Usługi dostępności powinny przerwać trwającą mowę, aby natychmiast ogłosić zmiany w tym widoku.

TypeDefault
enum('assertive', 'off', 'polite')'off'

aria-modal
iOS

Wartość logiczna wskazująca, czy VoiceOver powinien ignorować elementy w widokach będących rodzeństwem odbiornika. Ma pierwszeństwo przed właściwością accessibilityViewIsModal.

TypeDefault
booleanfalse

aria-selected

Wskazuje, czy wybieralny element jest aktualnie zaznaczony.

Type
boolean

onAccessibilityAction

Wywoływana, gdy użytkownik wykonuje akcje ułatwień dostępu. Jedynym argumentem tej funkcji jest zdarzenie zawierające nazwę akcji do wykonania.

Więcej informacji znajdziesz w przewodniku o ułatwieniach dostępu.

Type
function

accessibilityValue

Reprezentuje bieżącą wartość komponentu. Może to być opis tekstowy wartości lub dla komponentów zakresowych (np. suwaków czy pasków postępu) zawiera informacje o zakresie (minimalna, bieżąca i maksymalna).

Więcej informacji znajdziesz w przewodniku o ułatwieniach dostępu.

Type
object: {min: number, max: number, now: number, text: string}

aria-valuemax

Reprezentuje maksymalną wartość dla komponentów zakresowych, takich jak suwaki i paski postępu. Ma pierwszeństwo przed wartością max we właściwości accessibilityValue.

Type
number

aria-valuemin

Reprezentuje minimalną wartość dla komponentów zakresowych, takich jak suwaki i paski postępu. Ma pierwszeństwo przed wartością min we właściwości accessibilityValue.

Type
number

aria-valuenow

Reprezentuje bieżącą wartość dla komponentów zakresowych, takich jak suwaki i paski postępu. Ma pierwszeństwo przed wartością now we właściwości accessibilityValue.

Type
number

aria-valuetext

Reprezentuje opis tekstowy komponentu. Ma pierwszeństwo przed wartością text we właściwości accessibilityValue.

Type
string

delayLongPress

Czas (w milisekundach) od onPressIn do wywołania onLongPress.

Type
number

delayPressIn

Czas (w milisekundach) od rozpoczęcia dotknięcia do wywołania onPressIn.

Type
number

delayPressOut

Czas (w milisekundach) od zwolnienia dotknięcia do wywołania onPressOut.

Type
number

disabled

Jeśli true, wyłącza wszystkie interakcje dla tego komponentu.

Type
bool

hitSlop

Określa, jak daleko od przycisku może rozpocząć się dotknięcie. Ta wartość jest dodawana do pressRetentionOffset podczas odsuwania się od przycisku.

Obszar dotyku nigdy nie wykracza poza granice widoku nadrzędnego, a indeks Z sąsiednich widoków zawsze ma pierwszeństwo, gdy dotknięcie trafi w dwa nakładające się widoki.

Type
Rect or number

id

Używane do lokalizowania tego widoku z kodu natywnego. Ma pierwszeństwo przed właściwością nativeID.

Type
string

onBlur

Wywoływane, gdy element traci fokus.

Type
({nativeEvent: TargetEvent}) => void

onFocus

Wywoływane, gdy element otrzymuje fokus.

Type
({nativeEvent: TargetEvent}) => void

onLayout

Wywoływane przy montowaniu i zmianach układu.

Type
({nativeEvent: LayoutEvent}) => void

onLongPress

Wywoływane, jeśli czas po onPressIn trwa dłużej niż 370 milisekund. Ten okres można dostosować za pomocą delayLongPress.

Type
function

onPress

Wywoływane po zwolnieniu dotknięcia, ale nie w przypadku anulowania (np. przez przewijanie, które przejmuje blokadę respondera). Pierwszy argument funkcji to zdarzenie typu PressEvent.

Type
function

onPressIn

Wywoływane natychmiast po naciśnięciu elementu dotykowego, jeszcze przed onPress. Może to być przydatne przy wykonywaniu żądań sieciowych. Pierwszy argument funkcji to zdarzenie typu PressEvent.

Type
function

onPressOut

Wywoływane natychmiast po zwolnieniu dotknięcia, jeszcze przed onPress. Pierwszy argument funkcji to zdarzenie typu PressEvent.

Type
function

pressRetentionOffset

Gdy przewijanie jest wyłączone, określa jak daleko można przesunąć palec poza przycisk przed jego dezaktywacją. Po dezaktywacji, przesuń palec z powrotem – przycisk zostanie ponownie aktywowany! Przesuwaj wielokrotnie tam i z powrotem przy wyłączonym przewijaniu. Przekaż stałą wartość, aby zmniejszyć alokację pamięci.

Type
Rect or number

nativeID

Type
string

testID

Używany do lokalizowania tego widoku w testach end-to-end.

Type
string

touchSoundDisabled
Android

Jeśli true, systemowy dźwięk dotknięcia nie jest odtwarzany.

Type
Boolean