Flutter: проверка TextFormField не работает в моем случае ⇐ Android
Flutter: проверка TextFormField не работает в моем случае
У меня есть 2 TextFormField, в первом TextFormField я получаю данные из нижнего листа и назначаю эти данные контроллеру, во втором TextFormField - просто обычное текстовое поле для ввода текста. Код такой:
TextFormField( onTap: () { // Это нижний лист показатьнижний лист( контекст, Опции фильтра: context.read().registerMeetingOption, ); context.read() .applyFilterRegisterMeeting( filterOption: filterOption); }, readOnly: правда, контроллер: context.read().meetingRoomController, проверить: (значение) { if (meetingRoom?.isEmpty ?? false) { вернуть «Проверить»; } вернуть ноль; }, ), ТекстФормФилд( проверить: (значение) { если (значение?.isEmpty ?? true) { вернуть «Проверить»; } вернуть ноль; }, onChange: (значение) { если (value.isNotEmpty) { количество int = int.parse(значение); окончательный filterOption = контекст .read() .registerMeetingOption .copyWith(peopleNumber: количество); контекст .read() .applyFilterRegisterMeeting( filterOption: filterOption); } }, контроллер: context.read().peopleNumberController, ) В блоке классов:
TextEditingController? Контроллер конференц-зала; TextEditingController? людиномерконтроллер; void applyFilterRegisterMeeting({ требуется RegisterInformationMeetingFilterOption filterOption, }) { _registerMeetingOption = filterOption.copyWith(); если (filterOption.meetingRoomList.isNotEmpty) { MeetingRoomController = TextEditingController(текст: filterOption.meetingRoomList.first.name); } если (filterOption.peopleNumber! = ноль) { людиНомерКонтроллер = TextEditingController(текст: filterOption.peopleNumber.toString()); } } Проблема в том, что когда я выбираю данные в нижнем листе и применяю их, у MeetingRoomController были данные с полем «имя», но значение в поле «Проверка» пусто, поэтому текст «Проверка» не скрывается. А затем, когда я нажимаю на второй TextFormField и набираю текст, значение проверки первого TextFormField скрывает только «Проверить». Я не знаю, почему бы не скрыть «Проверку», когда я выбираю данные в нижнем листе? Я очень плохо говорю по-английски, поэтому помогите мне, пожалуйста. Спасибо вам большое!
У меня есть 2 TextFormField, в первом TextFormField я получаю данные из нижнего листа и назначаю эти данные контроллеру, во втором TextFormField - просто обычное текстовое поле для ввода текста. Код такой:
TextFormField( onTap: () { // Это нижний лист показатьнижний лист( контекст, Опции фильтра: context.read().registerMeetingOption, ); context.read() .applyFilterRegisterMeeting( filterOption: filterOption); }, readOnly: правда, контроллер: context.read().meetingRoomController, проверить: (значение) { if (meetingRoom?.isEmpty ?? false) { вернуть «Проверить»; } вернуть ноль; }, ), ТекстФормФилд( проверить: (значение) { если (значение?.isEmpty ?? true) { вернуть «Проверить»; } вернуть ноль; }, onChange: (значение) { если (value.isNotEmpty) { количество int = int.parse(значение); окончательный filterOption = контекст .read() .registerMeetingOption .copyWith(peopleNumber: количество); контекст .read() .applyFilterRegisterMeeting( filterOption: filterOption); } }, контроллер: context.read().peopleNumberController, ) В блоке классов:
TextEditingController? Контроллер конференц-зала; TextEditingController? людиномерконтроллер; void applyFilterRegisterMeeting({ требуется RegisterInformationMeetingFilterOption filterOption, }) { _registerMeetingOption = filterOption.copyWith(); если (filterOption.meetingRoomList.isNotEmpty) { MeetingRoomController = TextEditingController(текст: filterOption.meetingRoomList.first.name); } если (filterOption.peopleNumber! = ноль) { людиНомерКонтроллер = TextEditingController(текст: filterOption.peopleNumber.toString()); } } Проблема в том, что когда я выбираю данные в нижнем листе и применяю их, у MeetingRoomController были данные с полем «имя», но значение в поле «Проверка» пусто, поэтому текст «Проверка» не скрывается. А затем, когда я нажимаю на второй TextFormField и набираю текст, значение проверки первого TextFormField скрывает только «Проверить». Я не знаю, почему бы не скрыть «Проверку», когда я выбираю данные в нижнем листе? Я очень плохо говорю по-английски, поэтому помогите мне, пожалуйста. Спасибо вам большое!
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение