Я пытался закодировать виджет с сохранением состояния в классе statelessWidget, чтобы поместить логическое значение и stateState((), (показать или скрыть пароль). Поэтому я проследил за сообщением, в котором говорилось, что решение заключается в преобразовании.
Я преобразовал свой класс, и у меня есть некоторые ошибки, возможно, мне следует обновить свой код, но я не знаю, как это сделать, и я всегда получаю такие ошибки:
36:32: Ошибка: установщик "_isSecret" не определен для класса "_RoundedPasswordFieldState". -'_RoundedPasswordFieldState' взят из 'package:yona/Login/Components/rounded_password_field.dart' ('lib/Login/Components/rounded_password_field.dart'). Попробуйте изменить имя на имя существующего установщика или определить установщик или поле с именем «_isSecret».
Можете ли вы мне помочь? Проблема решена, это новый код
class _RoundedPasswordFieldState extends State<RoundedPasswordField> {
bool _isSecret = true;
@override
Widget build(BuildContext context) {
return TextFieldContainer(
child: TextFormField(
obscureText: _isSecret,
decoration: InputDecoration(
hintText: "Password",
border: InputBorder.none,
icon: Icon(
Icons.lock,
color: DarkTurquoise,
),
suffixIcon: InkWell(
onTap: () =>
setState(() => _isSecret = !_isSecret),
child: Icon(!_isSecret
? Icons.visibility
: Icons.visibility_off, color: DarkTurquoise),
),
),
),
);
}
}
Проблема устранена: