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

TextInput

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 →

Podstawowy komponent do wprowadzania tekstu w aplikacji za pomocą klawiatury. Jego właściwości umożliwiają konfigurację funkcji takich jak autokorekta, automatyczne użycie wielkich liter, tekst zastępczy oraz różne typy klawiatur, np. klawiaturę numeryczną.

Najprostszy przypadek użycia to umieszczenie komponentu TextInput i subskrybowanie zdarzeń onChangeText w celu odczytania danych wprowadzanych przez użytkownika. Dostępne są również inne zdarzenia, takie jak onSubmitEditing i onFocus. Minimalny przykład:

Dwie metody udostępniane przez natywny element to .focus() i .blur(), które pozwalają programowo ustawić lub usunąć fokus z komponentu TextInput.

Należy pamiętać, że niektóre właściwości są dostępne tylko przy ustawieniu multiline={true/false}. Dodatkowo, style obramowania stosowane tylko do jednej strony elementu (np. borderBottomColor, borderLeftWidth) nie będą zastosowane, jeśli multiline=true. Aby osiągnąć ten sam efekt, można opakować komponent TextInput w View:

Domyślnie komponent TextInput posiada obramowanie u dołu widoku. Jego wypełnienie jest ustawione przez obraz tła dostarczony przez system i nie może zostać zmienione. Rozwiązania, aby tego uniknąć, to albo nieustawianie jawnej wysokości (wówczas system zadba o poprawne wyświetlenie obramowania), albo ukrycie obramowania poprzez ustawienie underlineColorAndroid na przezroczysty.

Uwaga: w systemie Android zaznaczanie tekstu w polu wprowadzania może zmienić parametr aktywności windowSoftInputMode na adjustResize. Może to powodować problemy z komponentami ustawionymi na position: 'absolute' podczas aktywnej klawiatury. Aby uniknąć tego zachowania, należy określić windowSoftInputMode w pliku AndroidManifest.xml (https://developer.android.com/guide/topics/manifest/activity-element.html) lub kontrolować ten parametr programowo za pomocą kodu natywnego.


Dokumentacja

Właściwości​

Właściwości widoku​

Dziedziczy właściwości widoku.


allowFontScaling​

Określa, czy czcionki powinny skalować się zgodnie z ustawieniami dostępności rozmiaru tekstu. Domyślnie true.

Type
bool

autoCapitalize​

Nakazuje komponentowi TextInput automatyczne używanie wielkich liter dla określonych znaków. Ta właściwość nie jest obsługiwana przez niektóre typy klawiatur, np. name-phone-pad.

  • characters: wszystkie znaki.

  • words: pierwsza litera każdego słowa.

  • sentences: pierwsza litera każdego zdania (domyślnie).

  • none: bez automatycznego używania wielkich liter.

Type
enum('none', 'sentences', 'words', 'characters')

autoComplete​

Określa podpowiedzi autouzupełniania dla systemu, aby mógł dostarczać autouzupełnianie. W systemie Android system zawsze spróbuje zaproponować autouzupełnianie za pomocą heurystyk identyfikujących typ zawartości. Aby wyłączyć autouzupełnianie, ustaw autoComplete na off.

Następujące wartości działają na wszystkich platformach:

  • additional-name

  • address-line1

  • address-line2

  • birthdate-day (iOS 17+)

  • birthdate-full (iOS 17+)

  • birthdate-month (iOS 17+)

  • birthdate-year (iOS 17+)

  • cc-csc (iOS 17+)

  • cc-exp (iOS 17+)

  • cc-exp-day (iOS 17+)

  • cc-exp-month (iOS 17+)

  • cc-exp-year (iOS 17+)

  • cc-number

  • country

  • current-password

  • email

  • family-name

  • given-name

  • honorific-prefix

  • honorific-suffix

  • name

  • new-password

  • off

  • one-time-code

  • postal-code

  • street-address

  • tel

  • username

iOS

Następujące wartości działają tylko na iOS:

  • cc-family-name (iOS 17+)

  • cc-given-name (iOS 17+)

  • cc-middle-name (iOS 17+)

  • cc-name (iOS 17+)

  • cc-type (iOS 17+)

  • nickname

  • organization

  • organization-title

  • url

Android

Następujące wartości działają tylko na Androidzie:

  • gender

  • name-family

  • name-given

  • name-middle

  • name-middle-initial

  • name-prefix

  • name-suffix

  • password

  • password-new

  • postal-address

  • postal-address-country

  • postal-address-extended

  • postal-address-extended-postal-code

  • postal-address-locality

  • postal-address-region

  • sms-otp

  • tel-country-code

  • tel-device

  • tel-national

  • username-new

Type
enum('additional-name', 'address-line1', 'address-line2', 'birthdate-day', 'birthdate-full', 'birthdate-month', 'birthdate-year', 'cc-csc', 'cc-exp', 'cc-exp-day', 'cc-exp-month', 'cc-exp-year', 'cc-number', 'country', 'current-password', 'email', 'family-name', 'given-name', 'honorific-prefix', 'honorific-suffix', 'name', 'new-password', 'off', 'one-time-code', 'postal-code', 'street-address', 'tel', 'username', 'cc-family-name', 'cc-given-name', 'cc-middle-name', 'cc-name', 'cc-type', 'nickname', 'organization', 'organization-title', 'url', 'gender', 'name-family', 'name-given', 'name-middle', 'name-middle-initial', 'name-prefix', 'name-suffix', 'password', 'password-new', 'postal-address', 'postal-address-country', 'postal-address-extended', 'postal-address-extended-postal-code', 'postal-address-locality', 'postal-address-region', 'sms-otp', 'tel-country-code', 'tel-device', 'tel-national', 'username-new')

autoCorrect​

Jeśli false, wyłącza automatyczną korektę. Wartość domyślna to true.

Type
bool

autoFocus​

Jeśli true, automatycznie ustawia fokus na polu. Wartość domyślna to false.

Type
bool

blurOnSubmit​

Przestarzałe. Należy pamiętać, że submitBehavior zastępuje teraz blurOnSubmit i nadpisze wszelkie zachowania zdefiniowane przez blurOnSubmit. Zobacz submitBehavior

Jeśli true, pole tekstowe straci fokus po zatwierdzeniu. Wartość domyślna to true dla pól jednoliniowych i false dla wieloliniowych. Dla pól wieloliniowych ustawienie blurOnSubmit na true oznacza, że naciśnięcie Enter spowoduje utratę fokusu i wywołanie zdarzenia onSubmitEditing zamiast wstawienia nowej linii.

Type
bool

caretHidden​

Jeśli true, kursor tekstowy jest ukryty. Wartość domyślna to false.

Type
bool

clearButtonMode
iOS
​

Określa, kiedy przycisk czyszczenia powinien pojawić się po prawej stronie pola tekstowego. Ta właściwość jest obsługiwana tylko dla jednoliniowego komponentu TextInput. Wartość domyślna to never.

Type
enum('never', 'while-editing', 'unless-editing', 'always')

clearTextOnFocus
iOS
​

Jeśli true, automatycznie czyści pole tekstowe po rozpoczęciu edycji.

Type
bool

contextMenuHidden​

Jeśli true, menu kontekstowe jest ukryte. Wartość domyślna to false.

Type
bool

dataDetectorTypes
iOS
​

Określa typy danych konwertowanych na klikalne adresy URL w polu tekstowym. Działa tylko przy multiline={true} i editable={false}. Domyślnie żadne typy danych nie są wykrywane.

Możesz podać jeden typ lub tablicę wielu typów.

Dostępne wartości dla dataDetectorTypes to:

  • 'phoneNumber'

  • 'link'

  • 'address'

  • 'calendarEvent'

  • 'none'

  • 'all'

Type
enum('phoneNumber', 'link', 'address', 'calendarEvent', 'none', 'all'), ,array of enum('phoneNumber', 'link', 'address', 'calendarEvent', 'none', 'all')

defaultValue​

Dostarcza początkową wartość, która zmieni się po rozpoczęciu pisania przez użytkownika. Przydatne w przypadkach, gdy nie chcesz obsługiwać zdarzeń i aktualizować właściwości value, aby zachować zsynchronizowany stan kontrolowany.

Type
string

cursorColor
Android
​

Po podaniu ustawia kolor kursora (lub "karetki") w komponencie. W przeciwieństwie do zachowania selectionColor, kolor kursora jest ustawiany niezależnie od koloru pola zaznaczenia tekstu.

Type
color

disableFullscreenUI
Android
​

Gdy false, przy małej ilości miejsca wokół pola tekstowego (np. orientacja pozioma w telefonie), system operacyjny może umożliwić edycję tekstu w trybie pełnoekranowym. Gdy true, ta funkcja jest wyłączona, a użytkownicy zawsze edytują tekst bezpośrednio w polu tekstowym. Domyślnie false.

Type
bool

editable​

Jeśli false, tekst nie jest edytowalny. Wartość domyślna to true.

Type
bool

enablesReturnKeyAutomatically
iOS
​

Jeśli true, klawiatura wyłącza klawisz return, gdy nie ma tekstu, i automatycznie go włącza, gdy tekst pojawia się. Wartość domyślna to false.

Type
bool

enterKeyHint​

Określa tekst, który powinien być wyświetlany na klawiszu return. Ma pierwszeństwo przed właściwością returnKeyType.

Następujące wartości działają na wszystkich platformach:

  • done

  • next

  • search

  • send

  • go

Tylko Android

Następujące wartości działają tylko na Androidzie:

  • previous

Tylko iOS

Następujące wartości działają tylko na iOS:

  • enter
Type
enum('enter', 'done', 'next', 'previous', 'search', 'send', 'go')

importantForAutofill
Android
​

Informuje system operacyjny, czy poszczególne pola w Twojej aplikacji powinny być uwzględnione w strukturze widoku do celów autouzupełniania na Androidzie API Level 26+. Dopuszczalne wartości to auto, no, noExcludeDescendants, yes i yesExcludeDescendants. Wartość domyślna to auto.

  • auto: Pozwól systemowi Android użyć heurystyki do określenia, czy widok jest ważny dla autouzupełniania.

  • no: Ten widok nie jest ważny dla autouzupełniania.

  • noExcludeDescendants: Ten widok i jego elementy potomne nie są ważne dla autouzupełniania.

  • yes: Ten widok jest ważny dla autouzupełniania.

  • yesExcludeDescendants: Ten widok jest ważny dla autouzupełniania, ale jego elementy potomne nie są ważne.

Type
enum('auto', 'no', 'noExcludeDescendants', 'yes', 'yesExcludeDescendants')

inlineImageLeft
Android
​

Jeśli zdefiniowany, podany zasób obrazu będzie renderowany po lewej stronie. Zasób obrazu musi znajdować się w /android/app/src/main/res/drawable i być przywołany jak:

<TextInput
inlineImageLeft='search_icon'
/>
Type
string

inlineImagePadding
Android
​

Odstęp między wbudowanym obrazem (jeśli istnieje) a samym polem tekstowym.

Type
number

inputAccessoryViewID
iOS
​

Opcjonalny identyfikator, który łączy niestandardowy InputAccessoryView z tym polem tekstowym. InputAccessoryView jest renderowany nad klawiaturą, gdy to pole tekstowe jest aktywne.

Type
string

inputAccessoryViewButtonLabel
iOS
​

Opcjonalna etykieta, która zastępuje domyślną etykietę przycisku InputAccessoryView.

Domyślnie standardowa etykieta przycisku nie jest zlokalizowana. Użyj tej właściwości, aby dostarczyć zlokalizowaną wersję.

Type
string

inputMode​

Działa jak atrybut inputmode w HTML, określa, którą klawiaturę otworzyć (np. numeric) i ma pierwszeństwo przed keyboardType.

Obsługuje następujące wartości:

  • none

  • text

  • decimal

  • numeric

  • tel

  • search

  • email

  • url

Type
enum('decimal', 'email', 'none', 'numeric', 'search', 'tel', 'text', 'url')

keyboardAppearance
iOS
​

Określa kolor klawiatury.

Type
enum('default', 'light', 'dark')

keyboardType​

Określa, którą klawiaturę otworzyć, np. numeric.

Zobacz zrzuty ekranu wszystkich typów tutaj.

Następujące wartości działają na wszystkich platformach:

  • default

  • number-pad

  • decimal-pad

  • numeric

  • email-address

  • phone-pad

  • url

Tylko iOS

Następujące wartości działają tylko na iOS:

  • ascii-capable

  • numbers-and-punctuation

  • name-phone-pad

  • twitter

  • web-search

Tylko Android

Następujące wartości działają tylko na Androidzie:

  • visible-password
Type
enum('default', 'email-address', 'numeric', 'phone-pad', 'ascii-capable', 'numbers-and-punctuation', 'url', 'number-pad', 'name-phone-pad', 'decimal-pad', 'twitter', 'web-search', 'visible-password')

maxFontSizeMultiplier​

Określa maksymalną skalę czcionki przy włączonym allowFontScaling. Możliwe wartości:

  • null/undefined (domyślnie): dziedziczy z węzła nadrzędnego lub globalnie (0)

  • 0: brak limitu, ignoruj ustawienia nadrzędne/globalne

  • >= 1: ustawia maxFontSizeMultiplier dla tego węzła na podaną wartość

Type
number

maxLength​

Ogranicza maksymalną liczbę znaków. Używaj tego zamiast implementacji w JS, aby uniknąć migotania.

Type
number

multiline​

Jeśli true, wprowadzanie tekstu może być wieloliniowe. Domyślnie false.

uwaga

Uwaga: to wyrównuje tekst do góry na iOS i do środka na Androidzie. Użyj textAlignVertical ustawionego na top dla spójnego zachowania na obu platformach.

Type
bool

numberOfLines
Android
​

Ustawia liczbę linii dla TextInput. Użyj tego z parametrem multiline ustawionym na true, aby móc wypełnić linie.

Type
number

onBlur​

Funkcja zwrotna wywoływana, gdy pole tekstowe traci fokus.

Uwaga: Jeśli próbujesz uzyskać dostęp do wartości text z nativeEvent, pamiętaj że otrzymana wartość może być undefined, co może powodować nieoczekiwane błędy. Jeśli próbujesz znaleźć ostatnią wartość TextInput, możesz użyć zdarzenia onEndEditing, które jest wywoływane po zakończeniu edycji.

Type
function

onChange​

Funkcja zwrotna wywoływana przy zmianie tekstu w polu wprowadzania.

Type
({nativeEvent: {eventCount, target, text}}) => void

onChangeText​

Funkcja zwrotna wywoływana przy zmianie tekstu w polu wprowadzania. Zmieniony tekst jest przekazywany jako pojedynczy argument typu string do handlera.

Type
function

onContentSizeChange​

Funkcja zwrotna wywoływana przy zmianie rozmiaru zawartości pola tekstowego.

Działa tylko dla wielowierszowych pól tekstowych.

Type
({nativeEvent: {contentSize: {width, height} }}) => void

onEndEditing​

Funkcja zwrotna wywoływana po zakończeniu edycji tekstu.

Type
function

onPressIn​

Funkcja zwrotna wywoływana przy rozpoczęciu dotknięcia.

Type
({nativeEvent: PressEvent}) => void

onPressOut​

Funkcja zwrotna wywoływana przy zwolnieniu dotknięcia.

Type
({nativeEvent: PressEvent}) => void

onFocus​

Funkcja zwrotna wywoływana, gdy pole tekstowe uzyskuje fokus.

Type
({nativeEvent: LayoutEvent}) => void

onKeyPress​

Funkcja zwrotna wywoływana po naciśnięciu klawisza. Przyjmuje obiekt, gdzie keyValue to 'Enter' lub 'Backspace' dla odpowiednich klawiszy, a w innych przypadkach wprowadzony znak (w tym ' ' dla spacji). Wywoływane przed callbackami onChange. Uwaga: na Androidzie obsługiwane są tylko wejścia z klawiatury ekranowej.

Type
({nativeEvent: {key: keyValue} }) => void

onLayout​

Wywoływane przy montowaniu i zmianach układu.

Type
({nativeEvent: LayoutEvent}) => void

onScroll​

Wywoływane przy przewijaniu zawartości. Może zawierać inne właściwości z ScrollEvent, ale na Androidzie contentSize nie jest podawane ze względów wydajnościowych.

Type
({nativeEvent: {contentOffset: {x, y} }}) => void

onSelectionChange​

Funkcja zwrotna wywoływana przy zmianie zaznaczenia tekstu.

Type
({nativeEvent: {selection: {start, end} }}) => void

onSubmitEditing​

Funkcja zwrotna wywoływana po naciśnięciu przycisku zatwierdzenia.

Type
({nativeEvent: {text, eventCount, target}}) => void

Uwaga: na iOS ta metoda nie jest wywoływana przy użyciu keyboardType="phone-pad".


placeholder​

Tekst wyświetlany przed wprowadzeniem danych.

Type
string

placeholderTextColor​

Kolor tekstu zastępczego.

Type
color

readOnly​

Jeśli true, tekst jest tylko do odczytu. Domyślnie false.

Type
bool

returnKeyLabel
Android
​

Ustawia etykietę klawisza powrotu. Użyj zamiast returnKeyType.

Type
string

returnKeyType​

Określa wygląd klawisza zatwierdzenia. Na Androidzie można też użyć returnKeyLabel.

Wiele platform

Następujące wartości działają na wszystkich platformach:

  • done

  • go

  • next

  • search

  • send

Tylko Android

Następujące wartości działają tylko na Androidzie:

  • none

  • previous

Tylko iOS

Następujące wartości działają tylko na iOS:

  • default

  • emergency-call

  • google

  • join

  • route

  • yahoo

Type
enum('done', 'go', 'next', 'search', 'send', 'none', 'previous', 'default', 'emergency-call', 'google', 'join', 'route', 'yahoo')

rejectResponderTermination
iOS
​

Jeśli true, pozwala komponentowi TextInput przekazywać zdarzenia dotknięcia do komponentu nadrzędnego. Umożliwia to komponentom takim jak SwipeableListView reagowanie na przesunięcia w obszarze TextInput w iOS, co domyślnie działa w Androidzie. Jeśli false, TextInput zawsze przejmuje obsługę wprowadzania danych (z wyjątkiem sytuacji, gdy jest wyłączony). Domyślną wartością jest true.

Type
bool

rows
Android
​

Ustawia liczbę linii dla TextInput. Użyj tego z parametrem multiline ustawionym na true, aby móc wypełnić linie.

Type
number

scrollEnabled
iOS
​

Jeśli false, przewijanie widoku tekstu będzie wyłączone. Domyślną wartością jest true. Działa tylko z multiline={true}.

Type
bool

secureTextEntry​

Jeśli true, pole tekstowe maskuje wprowadzany tekst, aby poufne dane (np. hasła) pozostały bezpieczne. Domyślną wartością jest false. Nie działa z multiline={true}.

Type
bool

selection​

Początek i koniec zaznaczenia tekstu w polu wejściowym. Ustaw tę samą wartość dla początku i końca, aby ustawić kursor.

Type
object: {start: number,end: number}

selectionColor​

Kolor podświetlenia zaznaczenia, uchwytu zaznaczenia i kursora w polu tekstowym.

Type
color

selectionHandleColor
Android
​

Ustawia kolor uchwytu zaznaczenia. W przeciwieństwie do selectionColor, pozwala na niezależne dostosowanie koloru uchwytu od koloru zaznaczenia.

Type
color

selectTextOnFocus​

Jeśli true, cały tekst zostanie automatycznie zaznaczony po uzyskaniu fokusu.

Type
bool

showSoftInputOnFocus​

Gdy false, uniemożliwi to wyświetlenie klawiatury ekranowej, gdy pole uzyska fokus. Domyślną wartością jest true.

Type
bool

smartInsertDelete
iOS
​

Jeśli false, system iOS nie wstawi dodatkowej spacji po operacji wklejenia ani nie usunie jednej/dwóch spacji po operacji wycięcia lub usunięcia.

TypeDefault
booltrue

spellCheck
iOS
​

Jeśli false, wyłącza styl sprawdzania pisowni (tj. czerwone podkreślenia). Domyślna wartość jest dziedziczona z autoCorrect.

Type
bool

submitBehavior​

Po naciśnięciu klawisza return:

Dla pól jednowierszowych:

  • 'newline' domyślnie ustawia się na 'blurAndSubmit'

  • undefined domyślnie ustawia się na 'blurAndSubmit'

Dla pól wielowierszowych:

  • 'newline' dodaje nową linię

  • undefined domyślnie ustawia się na 'newline'

Dla obu typów pól (jedno- i wielowierszowych):

  • 'submit' wyśle tylko zdarzenie submit i nie spowoduje rozmycia fokusu (blur)

  • 'blurAndSubmit' spowoduje zarówno rozmycie fokusu, jak i wysłanie zdarzenia submit

Type
enum('submit', 'blurAndSubmit', 'newline')

textAlign​

Wyrównuje tekst wejściowy do lewej, środka lub prawej strony pola wprowadzania.

Możliwe wartości dla textAlign to:

  • left

  • center

  • right

Type
enum('left', 'center', 'right')

textContentType
iOS
​

Przekazuje klawiaturze i systemowi informacje o oczekiwanym znaczeniu semantycznym treści wprowadzanych przez użytkowników.

uwaga

autoComplete zapewnia tę samą funkcjonalność i jest dostępny na wszystkich platformach. Możesz użyć Platform.select dla różnych zachowań na platformach.

Unikaj używania jednocześnie textContentType i autoComplete. Dla zgodności wstecznej, textContentType ma pierwszeństwo, gdy ustawione są obie właściwości.

Możesz ustawić textContentType na username lub password, aby włączyć automatyczne wypełnianie danych logowania z pęku kluczy urządzenia.

newPassword może być użyte do wskazania nowego pola hasła, które użytkownik może chcieć zapisać w pęku kluczy, a oneTimeCode może wskazywać, że pole może być automatycznie wypełnione kodem z SMS-a.

Aby wyłączyć automatyczne wypełnianie, ustaw textContentType na none.

Możliwe wartości dla textContentType to:

  • none

  • addressCity

  • addressCityAndState

  • addressState

  • birthdate (iOS 17+)

  • birthdateDay (iOS 17+)

  • birthdateMonth (iOS 17+)

  • birthdateYear (iOS 17+)

  • countryName

  • creditCardExpiration (iOS 17+)

  • creditCardExpirationMonth (iOS 17+)

  • creditCardExpirationYear (iOS 17+)

  • creditCardFamilyName (iOS 17+)

  • creditCardGivenName (iOS 17+)

  • creditCardMiddleName (iOS 17+)

  • creditCardName (iOS 17+)

  • creditCardNumber

  • creditCardSecurityCode (iOS 17+)

  • creditCardType (iOS 17+)

  • emailAddress

  • familyName

  • fullStreetAddress

  • givenName

  • jobTitle

  • location

  • middleName

  • name

  • namePrefix

  • nameSuffix

  • newPassword

  • nickname

  • oneTimeCode

  • organizationName

  • password

  • postalCode

  • streetAddressLine1

  • streetAddressLine2

  • sublocality

  • telephoneNumber

  • URL

  • username

Type
enum('none', 'addressCity', 'addressCityAndState', 'addressState', 'birthdate', 'birthdateDay', 'birthdateMonth', 'birthdateYear', 'countryName', 'creditCardExpiration', 'creditCardExpirationMonth', 'creditCardExpirationYear', 'creditCardFamilyName', 'creditCardGivenName', 'creditCardMiddleName', 'creditCardName', 'creditCardNumber', 'creditCardSecurityCode', 'creditCardType', 'emailAddress', 'familyName', 'fullStreetAddress', 'givenName', 'jobTitle', 'location', 'middleName', 'name', 'namePrefix', 'nameSuffix', 'newPassword', 'nickname', 'oneTimeCode', 'organizationName', 'password', 'postalCode', 'streetAddressLine1', 'streetAddressLine2', 'sublocality', 'telephoneNumber', 'URL', 'username')

passwordRules
iOS
​

Gdy używamy textContentType jako newPassword w systemie iOS, możemy poinformować system operacyjny o minimalnych wymaganiach dotyczących hasła, aby mógł wygenerować takie, które je spełni. Aby utworzyć prawidłowy ciąg dla PasswordRules, zapoznaj się z dokumentacją Apple.

Jeśli okno dialogowe generowania haseł nie pojawia się, upewnij się że:

  • AutoFill jest włączony: Settings → Passwords & Accounts → przełącz AutoFill Passwords na "On",
  • iCloud Keychain jest używany: Settings → Apple ID → iCloud → Keychain → przełącz iCloud Keychain na "On".
Type
string

style​

Należy zauważyć, że nie wszystkie style tekstu są obsługiwane. Niepełna lista nieobsługiwanych stylów obejmuje:

  • borderLeftWidth

  • borderTopWidth

  • borderRightWidth

  • borderBottomWidth

  • borderTopLeftRadius

  • borderTopRightRadius

  • borderBottomRightRadius

  • borderBottomLeftRadius

Style

Type
Text

textBreakStrategy
Android
​

Ustawia strategię łamania tekstu na Androidzie w wersji API 23+. Możliwe wartości to simple, highQuality, balanced. Wartość domyślna to highQuality.

Type
enum('simple', 'highQuality', 'balanced')

underlineColorAndroid
Android
​

Kolor podkreślenia TextInput.

Type
color

value​

Wartość wyświetlana w polu tekstowym. TextInput jest komponentem kontrolowanym, co oznacza, że natywna wartość zostanie wymuszona do dopasowania do tej właściwości value, jeśli jest podana. W większości przypadków działa to świetnie, ale w niektórych sytuacjach może powodować migotanie - częstą przyczyną jest blokowanie edycji poprzez utrzymanie tej samej wartości. Oprócz ustawienia tej samej wartości, należy ustawić editable={false} lub ustawić/aktualizować maxLength, aby zapobiec niechcianym edycjom bez migotania.

Type
string

lineBreakStrategyIOS
iOS
​

Ustawia strategię łamania wierszy na iOS 14+. Możliwe wartości: none, standard, hangul-word, push-out.

TypeDefault
enum('none', 'standard', 'hangul-word', 'push-out')'none'

lineBreakModeIOS
iOS
​

Ustawia tryb łamania wierszy na iOS. Możliwe wartości: wordWrapping, char, clip, head, middle, tail.

TypeDefault
enum('wordWrapping', 'char', 'clip', 'head', 'middle', 'tail')'wordWrapping'

disableKeyboardShortcuts
iOS
​

Jeśli true, skróty klawiaturowe (przyciski cofania/ponawiania i kopiowania) są wyłączone. Wartość domyślna to false.

Type
bool

Metody​

.focus()​

tsx
focus();

Wymusza ustawienie fokusa na natywnym polu wejściowym.

.blur()​

tsx
blur();

Powoduje utratę fokusa przez natywne pole wejściowe.

clear()​

tsx
clear();

Usuwa cały tekst z komponentu TextInput.


isFocused()​

tsx
isFocused(): boolean;

Zwraca true, jeśli pole wejściowe ma aktualnie fokus; w przeciwnym przypadku false.

Znane problemy

  • react-native#19096: Nie obsługuje Androidowego onKeyPreIme.

  • react-native#19366: Wywołanie .focus() po zamknięciu klawiatury Androida przyciskiem wstecz nie powoduje ponownego wyświetlenia klawiatury.

  • react-native#26799: Nie obsługuje Androidowego secureTextEntry przy keyboardType="email-address" lub keyboardType="phone-pad".