Я разработал флаттер-экран, на котором у меня есть кнопка при нажатии на эту Button A
Я получаю всплывающее окно, в котором есть Button 1
для добавления нового текстового поля, и мы можем добавить любое количество текстовых полей, для этого у меня есть использован пример зависимости flutter_form_bloc
. Затем во всплывающем окне есть еще одна кнопка, ie Button 2
, которая при нажатии обрабатывает данные, введенные в текстовые поля, и закрывает всплывающее окно.
Теперь, когда я снова нажимаю Button A
, чтобы открыть во всплывающем окне исчезнут все текстовые поля и данные. Я не хочу, чтобы это случилось. Я хочу, чтобы они были там до тех пор, пока основной экран дрожания не появится или не будет закрыт.
Более того, при нажатии Button 2
во всплывающем окне данные должны быть переданы в класс основного экрана дрожания, в котором Button A
есть и должен храниться в экземпляре, чтобы передаваемые данные можно было обрабатывать дальше.
Вот скриншоты, чтобы понять [ Image 1 ] 1 [ Изображение 2 ] 2
КОД
FormBlocListener<ListFieldFormBloc2, String, String>(
onSubmitting: (context, state) {
},
onSuccess: (context, state) {
String name1;
var parsedData = json.decode(state.successResponse);
List members = parsedData['members'];
members.forEach((member){
name1 = member['step'];
List<String> _step = [];
_step.add(member["step"]);
_AddStepsState().getsteps(members);
});
_AddStepsState(steps: members);
Navigator.pop(context);
},
onFailure: (context, state) {
Scaffold.of(context).showSnackBar(
SnackBar(content: Text(state.failureResponse)));
},
child: SingleChildScrollView(
physics: ClampingScrollPhysics(),
child: Column(
children: <Widget>[
BlocBuilder<ListFieldBloc<MemberFieldBloc2>,
ListFieldBlocState<MemberFieldBloc2>>(
bloc: formBloc.members,
builder: (context, state) {
if (state.fieldBlocs.isNotEmpty) {
return ListView.builder(
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
itemCount: state.fieldBlocs.length,
itemBuilder: (context, i) {
return MemberCard2(
memberIndex: i,
memberField: state.fieldBlocs[i],
onRemoveMember: () =>
formBloc.removeMember(i),
);
},
);
}
return Container();
},
),
RaisedButton(
color: Colors.blue[100],
onPressed: formBloc.addMember,
child: Text('ADD STEP'),
),
],
),
),
),
Я попытался передать созданный СПИСОК другому class этими способами _AddStepsState(steps: members);
и _AddStepsState().getsteps(members);
, но оба раза это не удалось.
Я хочу, чтобы список значений в текстовом поле был сгенерирован для передачи другому классу
И Также я хочу, чтобы, пока пользователь находится на экране Screen1, как в Image 1
, если поля редактируются, как в image 2
, и если пользователь снова открывает всплывающий экран, поля должны оставаться там и не удаляться.
Как должен ли я достичь этого?
если требуется дополнительная информация красный, дайте мне знать
ссылка на используемую зависимость здесь flutter form blo c