❓问题描述
在Flutter中使用showDialog弹出的Dialog,需要根据用户的交互,在Dialog中动态的显示数据,如何实现?
🛣固有思路
用户在dialog中交互后,使用setState()方法进行UI的更新,可是在实际的过程中,使用setState并不能进行dialog页面的更新,使用这种思路不能解决问题。
🍡为什么
在showDialog的注释中,有这样一段话,如下所示,简单翻译一下就是“ builder”返回的context与调用showDialog时的context不同。使用StatefulBuilder或者StatefulWidget来动态的更新UI,那么接下来就使用StatefulBuilder来动态的更新UI吧
/// This function takes a `builder` which typically builds a [Dialog] widget.
/// Content below the dialog is dimmed with a [ModalBarrier]. The widget
/// returned by the `builder` does not share a context with the location that
/// `showDialog` is originally called from. Use a [StatefulBuilder] or a
/// custom [StatefulWidget] if the dialog needs to update dynamically.
🎋实现
StatefulBuilder的bu