TextInput
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
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
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
submitBehaviorzastępuje terazblurOnSubmiti nadpisze wszelkie zachowania zdefiniowane przezblurOnSubmit. 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 |
disableKeyboardShortcuts iOS
Jeśli true, skróty klawiszowe (przyciski cofnij/ponów i kopiuj) są wyłączone.
| Type | Default |
|---|---|
| bool | false |
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') |
lineBreakStrategyIOS iOS
Ustawia strategię łamania wierszy na iOS 14+. Możliwe wartości: none, standard, hangul-word, push-out.
| Type | Default |
|---|---|
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.
| Type | Default |
|---|---|
enum('wordWrapping', 'char', 'clip', 'head', 'middle', 'tail') | 'wordWrapping' |
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: ustawiamaxFontSizeMultiplierdla 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: 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
numberOfLines na iOS działa tylko w Nowej Architekturze
Ustawia maksymalną liczbę wierszy dla TextInput. Używaj z właściwością multiline ustawioną na true, aby wypełniać wiersze.
| Type |
|---|
| number |
onBlur
Funkcja zwrotna wywoływana, gdy pole tekstowe traci fokus.
Uwaga: Jeśli próbujesz uzyskać dostęp do wartości
textznativeEvent, 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ć zdarzeniaonEndEditing, które jest wywoływane po zakończeniu edycji.
| Type |
|---|
({nativeEvent: TargetEvent}) => void |
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: TargetEvent}) => 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.
| Type | Default |
|---|---|
| bool | true |
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' -
undefineddomyślnie ustawia się na'blurAndSubmit'
Dla pól wielowierszowych:
-
'newline'dodaje nową linię -
undefineddomyś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.
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
| 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 |
Metody
.focus()
focus();
Wymusza ustawienie fokusa na natywnym polu wejściowym.
.blur()
blur();
Powoduje utratę fokusa przez natywne pole wejściowe.
clear()
clear();
Usuwa cały tekst z komponentu TextInput.
isFocused()
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
secureTextEntryprzykeyboardType="email-address"lubkeyboardType="phone-pad".