我有Courses和Tasks。每个Course都有很多Tasks。这就是为什么我在应用程序中使用不同的屏幕来显示课程列表,在点击课程后,我导航到下一个屏幕 - 任务列表。这是我onTap的课程列表方法:
onTap: () {
TasksPageLoadedEvent pageLoadedEvent =
TasksPageLoadedEvent(
courseId: state.courses[index].id,
truckNumber: this.truckNumber,
);
serviceLocator<TaskBloc>().add(pageLoadedEvent);
Routes.sailor(
Routes.taskScreen,
params: {
Routes.courseNumber:
state.courses[index].courseNumber,
Routes.truckNumber: this.truckNumber,
Routes.courseId: state.courses[index].id,
},
);
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个TasksPageLoadedEvent,将其传递给TaskBloc并导航到“任务”页面。
这是它TaskBloc以及它如何处理映射事件 - 状态:
@override
Stream<TaskState> mapEventToState(
TaskEvent event,
) async* {
if (event is TasksLoadingEvent) {
yield TasksLoadingState();
} else if (event is TasksReloadingErrorEvent) {
yield TasksErrorState();
} else if (event is TasksFetchedFailureEvent) { …Run Code Online (Sandbox Code Playgroud)