flutter提供商和notifyListeners,UI中的值不更新
我有一个课程:
class ProgressStream with ChangeNotifier {
double? progress;
getProgress(_uploadTask) {
return _uploadTask.snapshotEvents.listen((event) {
progress =
event.bytesTransferred.toDouble() / event.totalBytes.toDouble();
print(progress);
notifyListeners();
});
}
}
主要提供者:
return MultiProvider(
providers: [
ChangeNotifierProvider(
create: (_) => UserProvider(),
),
ChangeNotifierProvider(
create: (_) => ProgressStream(),
),
],
child: MaterialApp())
以及小部件:
Text(context.watch<ProgressStream>().progress.toString())
进度的值在更改时不会更新。 小部件可以读取进度变量,但是当我调用notifyListeners()
时,它不会更新。
I have a class :
class ProgressStream with ChangeNotifier {
double? progress;
getProgress(_uploadTask) {
return _uploadTask.snapshotEvents.listen((event) {
progress =
event.bytesTransferred.toDouble() / event.totalBytes.toDouble();
print(progress);
notifyListeners();
});
}
}
with a provider in main :
return MultiProvider(
providers: [
ChangeNotifierProvider(
create: (_) => UserProvider(),
),
ChangeNotifierProvider(
create: (_) => ProgressStream(),
),
],
child: MaterialApp())
And the widget :
Text(context.watch<ProgressStream>().progress.toString())
The value of progress doesn't update when it changes.
The widget can read the progress variable but it doesn't update when i call notifyListeners()
;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论