Я реализовал простую обертку вокруг компонента TextInput , и я использую ее на нескольких экранах. /> < /ol>
Когда я позволяю iOS автозаполнять «новый безопасный пароль» на странице регистрации, после того, как он был успешным, TextInput < /code> на следующем экране пожелтел, как если бы iOS было что-то на автозаполнении, но текстовое поле пусто. Оттуда я могу нажать на TextInput < /code>, который подтягивает клавиатуру, я могу вводить буквы, но на самом деле ничего не происходит.
Я реализовал логику, чтобы предотвратить продолжение пользователя, не введя там какой -то текст, поэтому пользователь по существу застрял (что я удалял для этой демонстрации). Другие поля TextInput также затронуты, пока 3 -й экран по какой -то причине. TextContentType < /code> до NONE на inputFields (которые не являются паролями) не работает.
Я думал, что это может быть какое -то похороненное состояние, которое я случайно сохраняю, или неправильная ссылка. Или что -нибудь связано с маршрутизацией? У меня есть немного потери, и я могу использовать некоторую помощь в понимании того, как это может произойти.
Код: Выделить всё
TextInputКод: Выделить всё
import React from "react";
import {
StyleSheet,
Text,
View,
TextInput,
TextInputProps,
Dimensions,
TouchableOpacity,
} from "react-native";
import { useColors } from "@/components/ThemeProvider";
import { Eye, EyeOff } from "lucide-react-native";
const { width } = Dimensions.get("window");
interface CustomInputProps extends TextInputProps {
label: string;
error?: string;
isPassword?: boolean;
disableAutofill?: boolean;
}
export const CustomInput: React.FC = ({
label,
error,
isPassword = false,
disableAutofill = false,
...props
}) => {
const colors = useColors();
const [secureTextEntry, setSecureTextEntry] = React.useState(isPassword);
const toggleSecureEntry = () => {
setSecureTextEntry(!secureTextEntry);
};
return (
{label}
{isPassword && (
{secureTextEntry ? (
) : (
)}
)}
{error && {error}}
);
};
< /code>
Я не использую ничего особенного с компонентом: < /p>
const [name, setName] = useState("");
< /ul>
Подробнее здесь: https://stackoverflow.com/questions/795 ... g-inputbox
Мобильная версия