问题在于,掌握状态的不是您的对话框。是名为的小部件
showDialog。也是一样,当你打电话的
setState,你是在对话框的创造者打来的。
问题是,对话框 不是 在
build方法内部构建的。它们在不同的小部件树上。因此,当对话框创建者更新时,对话框不会。
相反,您应该使对话框保持状态。将数据保存在该对话框中。然后用于
Navigator.pop(context,sliderValue)将滑块值发送回对话框创建器。
对话框中的等效项是
FlatButton( onPressed: () => Navigator.of(context).pop(sliderValue), child: Text("Hello"),)然后您可以了解
showDialog结果:
final sliderValue = await showDialog<double>( context: context, builder: (context) => MyDialog(),)



