所以我不知道如何从我的Cubit状态中获取参数,在这个例子中,有一个来自AnswerPicked文件的代码。
part of 'answer_cubit.dart';
abstract class AnswerState extends Equatable {
const AnswerState();
@override
List<Object> get props => [];
}
class AnswerInitial extends AnswerState {}
class AnswerPicked extends AnswerState {
final String answer;
AnswerPicked({
this.answer,
});
String toString() => '{AnswerPicked: $answer}';
}我想在这里的Cubit函数中使用它:
part 'answer_state.dart';
class AnswerCubit extends Cubit<AnswerState> {
final ExamScoreCubit scoreCubit;
AnswerCubit({
@required this.scoreCubit,
}) : super(AnswerInitial());
List<String> userAnswersList = [];
void pickAnswer(String answer) {
emit(AnswerInitial());
emit(AnswerPicked(answer: answer));
}
void takeAnswer(String questionAnswer, int type) {
if(state is AnswerPicked){
userAnswersList.add(state.answer); // state.answer don't work
scoreCubit.checkAnswer(AnswerPicked().answer, questionAnswer, type); // AnswerPicked().answer don't work
}
emit(AnswerInitial());
}
}在takeAnswer()中,我不想使用上下文在小部件树中传递抛出参数。你知道该怎么做吗?
发布于 2020-12-19 20:43:33
userAnswersList.add((state as AnswerPicked) .answer); https://stackoverflow.com/questions/65369690
复制相似问题