未使用BLOC模式在屏幕上更新Flutter SimpleDialog选择

时间:2019-08-12 22:11:58

标签: flutter dart dialog bloc

我有一个弹出窗口(SimpleDialog),显示一些文本选择。 我正在尝试使用所选文本更新屏幕上的文本。 选择其中一种文本时,窗口关闭,但是所选文本不会在屏幕上更新。我正在使用BLOC模式。

我还有一个基于AlertDialog的对话框,显示一个文本字段。按下OK后,相同的文本将在屏幕上正确更新,并且对话框关闭。

以下是显示SimpleDialog的代码:

_selectGoal(BuildContext context) async {
  final choice = await showDialog<String>(
      context: context,
      builder: (_) {
        return SimpleDialog(
            title: const Text('Select a Goal'),
            children: BehavioralDesignGoalOptions.goals
                .map((o) =>
                SimpleDialogOption(
                  onPressed: () {
                    Navigator.pop(context, o);
                  },
                  child: Text(o),
                ))
                .toList());
      });

  if (choice != null) {
    print("choice: " + choice);
    BlocProvider.of<BehavioralDesignBloc>(context).dispatch(
        BehavioralDesignSetGoalEvent(choice));
    }
}

我想念什么吗?

0 个答案:

没有答案