Size: a a a

Flutter Developers — русскоговорящее сообщество

2020 February 05

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
или обернуть текстфилд в блокбилдер и слушать состояние
источник

Z

Zhu in Flutter Developers — русскоговорящее сообщество
Artem Krupp
или напрямую к textFieldу обращаться
Через обычный стринг валидация потом не удаляется
источник

Z

Zhu in Flutter Developers — русскоговорящее сообщество
Дальше красным остаётся
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
Zhu
Через обычный стринг валидация потом не удаляется
ну так работает текст филд)
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
окей есть вариант сделать поле isError и вызвать у формы валидейт
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
и в validator проверять это поле
источник

Z

Zhu in Flutter Developers — русскоговорящее сообщество
Ага
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
но весь виджет (в котором лежит форма), надо тогда в стейтфул перевести
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
это не проблема, просто уточняю
источник

Z

Zhu in Flutter Developers — русскоговорящее сообщество
Artem Krupp
и потом в BlocListener ловишь если тебе нужно что-то сделать когда появляется это состояние
У меня через этот listener
источник

Z

Zhu in Flutter Developers — русскоговорящее сообщество
BlocProvider.of<AuthenticationBloc>(context)
                       .mapClickedLoginToState(_email, _password)
                       .listen((data) {
                     if (data is ThrownError) {
                       print("An error occured ${data.code}");
                       print("An error occured ${data.message}");
                       setState(() {
                         _passwordErrorText = data.message;
                         _formKey.currentState.validate();
                       });
                     }
источник

Z

Zhu in Flutter Developers — русскоговорящее сообщество
Пойдет ?😅
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
setState плохо
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
нет смысла всё ребилдить
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
не делай сет стейт
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
и так работать будет
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
просто те две строчки оставь
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
и забудь про setState в больших виджетах
источник

Z

Zhu in Flutter Developers — русскоговорящее сообщество
Zhu
У меня через этот listener
т.е не через add(ClickedLogin());
источник

Z

Zhu in Flutter Developers — русскоговорящее сообщество
Zhu
BlocProvider.of<AuthenticationBloc>(context)
                       .mapClickedLoginToState(_email, _password)
                       .listen((data) {
                     if (data is ThrownError) {
                       print("An error occured ${data.code}");
                       print("An error occured ${data.message}");
                       setState(() {
                         _passwordErrorText = data.message;
                         _formKey.currentState.validate();
                       });
                     }
Билдер главный слушать перестал :/
источник