我有一个听流的TextField
内部。当快照有错误时,显示它。StreamBuilder
BehaviorSubject
errorText
问题是何时TextField
滚动出可见区域并在StreamBuilder
重建中回滚但错误文本消失了,因为这次snapshot.hasError
是错误的。
如何维护错误?
您可能希望将错误存储在 you 的String
变量中StatefulWidget
。
一旦您准备好清除错误(例如用户按下清除按钮),您只需将此变量设置为 null。
String errorMsg;
StreamBuilder(
stream: myStream,
builder: (BuildContext context, snapshot) {
if (snapshot.hasError) {
errorMsg = snapshot.error.toString();
}
if (errorMsg != null) {
return Text(errorMsg);
}
return new Text(
snapshot.data.toString(),
);
},
)