【发布时间】:2021-07-27 01:02:22
【问题描述】:
我在我的 bloc 文件中使用此 context.read<SurveyBloc>().add(SurveyChanged(surveys: data)); 更新 BLOC 状态更新的值被打印,但在我导航到下一页后,值没有更新。也使用相同的区块。
块文件sn-p
if (event is SurveyChanged) {
print("SurveyChanged:"+ event.surveys.survey_name);
yield state.copyWith(surveys: event.surveys);
}
这就是我更新我的集团并导航到下一页的方式
onTap: () {
context.read<SurveyBloc>().add(SurveyChanged(surveys: data));
Navigator.of(context).push(
MaterialPageRoute(builder: (context) {
return SurveyView();
}));
}
surveyEvent.dart
import 'package:whfms_mobile_app/models/ModelProvider.dart';
abstract class SurveyEvent {}
class SurveyHome extends SurveyEvent{
}
class SurveyResultChanged extends SurveyEvent {
final String surveyResult;
SurveyResultChanged({this.surveyResult});
}
class SurveyModeChanged extends SurveyEvent {
final String mode;
SurveyModeChanged({this.mode});
}
class SurveyChanged extends SurveyEvent {
final Surveys surveys;
SurveyChanged({this.surveys});
}
class SaveSurveyChanges extends SurveyEvent {}
我的应用结构与this repo相同
【问题讨论】:
-
能否分享一下您的活动代码
-
事件代码更新,请查看repo链接,我想我需要修改app_navigator文件
-
返回一个新状态检查答案
-
@Tasnuvaoshin 我在 bloc 文件中替换了它但没有工作
-
好的,查看下一页。值为空?然后只检查 string 而不是 object 。因为如果任何对象元素为空,则有可能发生这种情况
标签: flutter bloc flutter-bloc flutter-navigation flutter-state