Har*_*han 5 android dart flutter
单击下图中的任何一点,我想显示与该点相关的一些信息。但是当我使用setState方法更新有关点击事件的以下信息时,图表正在重建。我想在这个时间序列图中的某个时间放大,但重建图是一个问题,看不到图上的标签。如何在setState不重新绘制图形的情况下使用该方法更新以下信息?
在下面的图像中,Angle值应该是,15.0而它没有更新setState
您可以使用StatefulBuilder包装您的小部件:
一个具有状态并调用闭包以获取其子部件的柏拉图式部件。
传递给构建器的 StateSetter 函数用于调用重建,而不是典型的 State 的 State.setState。
这是文档中的一个示例:
Run Code Online (Sandbox Code Playgroud)await showDialog<void>( context: context, builder: (BuildContext context) { int selectedRadio = 0; return AlertDialog( content: StatefulBuilder( builder: (BuildContext context, StateSetter setState) { return Column( mainAxisSize: MainAxisSize.min, children: List<Widget>.generate(4, (int index) { return Radio<int>( value: index, groupValue: selectedRadio, onChanged: (int value) { setState(() => selectedRadio = value); }, ); }), ); }, ), ); }, );
为了停止重建一些小部件,我所做的是将该小部件移动到它自己的有状态小部件中。所以当它是父级重建时它不会重建。为了在它们之间进行通信,我使用回调函数或块模式。因此,您可以做的是将图形移动到单独的有状态小部件,并且在 cilck 事件上,您可以通过功能回调将数据传递给其父级。
| 归档时间: |
|
| 查看次数: |
4076 次 |
| 最近记录: |