#flutter #dart
Вопрос:
Я пытаюсь создать страницы регистрации, поэтому я использовал просмотр страниц, как этот контроллер просмотра страниц.контроллер просмотра страниц следующей страницы (….,…). предыдущая страница (….,…) Значение Бум в поле Текстовой формы исчезло. И это происходит на всех страницах, когда я перехожу на новую страницу в представлении страницы и возвращаюсь на страницу. Информация, которую заполнил пользователь, исчезла из полей и стала пустой! почему?
Form( key: EmailKeys.formKey, child: Column( children: [ const Text( "Create an account, It's free", textAlign: TextAlign.center, style: TextStyle(fontSize: 16, color: Colors.grey), ), const SizedBox( height: 40, ), TextFormField( onFieldSubmitted: (val) { EmailKeys.formKey.currentState!.setState(() { email = val.trim(); }); EmailKeys.formKey.currentState!.save(); }, textInputAction: TextInputAction.done, inputFormatters: [LengthLimitingTextInputFormatter(100)], obscureText: false, keyboardType: TextInputType.emailAddress, decoration: InputDecoration( labelText: "Email Address", border: OutlineInputBorder( borderRadius: BorderRadius.circular(15), ), labelStyle: TextStyle(color: Colors.grey[400]), floatingLabelStyle: const TextStyle(color: Colors.blueGrey, fontSize: 18), ), validator: (value) { if (value!.isEmpty) { return 'Email address is required'; } else if (!value.contains("@")) { return "Email address should contain ' @ ' symbol"; } }, onChanged: (value) { email = value.trimLeft(); }, onSaved: (val) { setState(() { email = val!; }); print(email); }, controller: _emailCtrl, ), ], ), ),
Комментарии:
1. вам необходимо хранить данные локально, иначе при возврате с другой страницы данные будут удалены. И вы также можете попробовать использовать государственное управление, такое как bloc, GlobalState и т. Д.
Ответ №1:
попробуйте передать email
поле Textform в качестве значения