【发布时间】:2019-08-14 16:45:57
【问题描述】:
我有一个 StatefulWidget,其中有一个名为 stream 的变量,它被初始化为一个初始流:
var stream = stream1;
当 setState 被调用时:
setState(() {
condition ? stream = stream1 : stream = stream2;
});
这些流由 StreamBuilder 使用:
StreamBuilder(
stream: stream,
builder: (context, snap) {
return RaisedButton(
child: ..
onPressed: snap.hasData ? () => my_function() : null
);
}
)
问题在于,当构建器函数通过流获取数据并且按钮变为可单击然后状态发生更改时,新的 StreamBuilder 按钮仍然可单击,尽管如果单击按钮 my_function,第二个流实际上没有数据() 没有被执行。
【问题讨论】:
标签: flutter