Ошибка: iOS Автозаполнение сохраняется через экраны, разбивая входные ящикиIOS

Программируем под IOS
Ответить
Anonymous
 Ошибка: iOS Автозаполнение сохраняется через экраны, разбивая входные ящики

Сообщение Anonymous »

Проблема
Я реализовал простую обертку вокруг компонента 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("");




Любые идеи о Что я должен изучить, чтобы отлаживать это? /> ios 18.4.1 < /li>
< /ul>

Подробнее здесь: https://stackoverflow.com/questions/795 ... g-inputbox
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»