TouchableWithoutFeedback
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
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.
| Type | Default |
|---|---|
| boolean | false |
aria-checked
Wskazuje stan elementu z możliwością zaznaczenia. Przyjmuje wartość logiczną lub ciąg "mixed" dla pól wyboru w stanie mieszanym.
| Type | Default |
|---|---|
| boolean, 'mixed' | false |
aria-disabled
Wskazuje, że element jest widoczny, ale wyłączony - nie można go edytować ani obsługiwać.
| Type | Default |
|---|---|
| boolean | false |
aria-expanded
Wskazuje, czy rozwijany element jest aktualnie rozwinięty czy zwinięty.
| Type | Default |
|---|---|
| boolean | false |
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.
| Type | Default |
|---|---|
| boolean | false |
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.
| Type | Default |
|---|---|
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.
| Type | Default |
|---|---|
| boolean | false |
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 |