【发布时间】:2019-09-23 10:36:56
【问题描述】:
return MaterialApp(
home: Scaffold(
body: RefreshIndicator(
key: _globalKey,
onRefresh: refresh,
child: Sub(),
),
),
);
有简单的refreshindicator和子Widget
class Sub extends StatefulWidget {
@override
_SubState createState() => _SubState();
}
class _SubState extends State<Sub> {
@override
Widget build(BuildContext context) {
print('sub');
return Container(
color: Colors.amber,
child: SingleChildScrollView(
child: Column(
children: <Widget>[
Container(
height: 300,
color: Colors.blue,
),
Container(
height: 300,
color: Colors.red,
),
Container(
height: 300,
color: Colors.green,
),
],
),
),
);
}
}
Sub Widget 在构建时打印“sub” 关键是当我触摸或只是轻微拖动页面(没有足够的调用 refreshindicator)子小部件被重建两次。我不知道为什么,我不知道我该怎么做。 (statelesswidget 可以解决这个问题,但我需要使用 statefulwidget)
【问题讨论】:
-
如果只是静态数据,为什么还要使用 statefulwidget?
-
现在我正在使用 streambuilder 所以我需要使用 statefulwidget
-
我没有看到 initState 但我猜你在其中调用了 refresh 。 RefreshIndicator 不需要它
-
但我想为用户界面移动页面
-
RefreshIndicator 自己调用刷新
标签: flutter