问题标签 [flutter-state]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - 如何在子类中实现手势检测 - On Tap 方法?
我想在子类中实现该GestureDetector
方法。onTap
有没有办法在 Flutter 中做到这一点?
ParentClass.dart
ChildClass.dart
flutter - 如何在 Flutter 中获取有关提供者上下文更改的网络数据
我有一个带有一些奇怪功能的 Flutter 应用程序,但它是必需的。该应用程序的 BottomNavigationBar 页面包含在 IndexedStack 中,因此如果您转到此 IndexedStack 的其他页面,页面不会重新加载并保持持久性。
其中一个页面是 ProfilePage,您可以在其中选择用户列表。我使用如下所示的 ChangeNotifier:
其他 BottomNavigationBar 页面之一 TheOtherPage 取决于所选用户 (_chosenUser),在 initState 上它从网络加载数据:
问题是字段 _chosenUser 更改后,我需要 TheOtherPage 从网络加载所选用户的数据。但我不知道如何处理它。如果我使用 context.read 或 context.select 它肯定会跟踪更改的 _chosenUser,但不会获取新选择的数据:
而且我不想在 UserInfo 对象中保存 TheOtherPage 所需的数据,因为数据太多,并且为 MainUserInfo._users 中的每个用户加载这么多数据不是一种选择。此外,我将能够跟踪加载状态,因为使用“bool Isloading”我可以在获取所需数据时显示一些花哨的占位符。
所以一般的问题是如何使 TheOtherPage 获取 ProfilePage 上 ChangeNotifier 更改字段的数据。也许我的整个方法很糟糕,我不需要在这里使用 Provider 和 ChangeNotifier,我想看看任何建议。谢谢
flutter - 您应该将状态值放在 Riverpod 的什么位置?
要访问 StateProvider 或 StateNotifierProvider 的状态:
有时在 Riverpod 文档中,在 watch 函数之后添加了 state 变量。
但是,我使用 StateNotifier 的代码只有在我在 watch 中引用它时才有效。IE
有什么区别?
flutter - 从有状态小部件更新无状态小部件
主要飞镖:
主页.dart:
HomeView.dart:
当我从 floatingActionButton 调用 updateDisplay() 方法时,它按预期工作,数据被打印到控制台,但是它似乎没有更新实际的 UI,卡片的内容,它们只是保持在初始设置值.
澄清一下:如何从有状态小部件更新列表视图内(无状态小部件内)的卡片内容?
如果这是一个重复的问题,我很抱歉,我已经查看并继续寻找问题的答案,但我根本无法让它工作。
flutter - Flutter Widget 在其中一项属性更改后重建
如何在属性值之一更改后立即强制 Widget 重建?一些伪代码:
当String name
属性更新时(基于父级的 setState 调用),一切都是实时发生的。更改会立即反映在 Text 小部件中。这个值是立即可见的,因为我正在使用widget.name
调用,所以在built()
方法中我使用的是Live
类中的属性而不是状态。
问题是另一个包裹在 Card 中的小部件在标记为// some turbo logic I don't want to move to Live class
. 由于这个事实,当我想在本节中查看更新时,我需要切换选项卡并转到例如设置,然后返回实时选项卡以查看与卡片内容相关的更改。我相信它会再次触发 build() 方法。
戈拉斯:
- 在
name
Live 小部件中更新值后,状态小部件会立即重建。 - 不要移动
turbo logic
到 Live 类并将其保留在 State 类中
flutter - 尝试为我的状态使用带有嵌套底部导航栏的提供程序时出现问题-Flutter
我正在尝试与提供者一起学习正确的状态管理,但我遇到了一个问题,我在这里遇到了麻烦。据我所知,我正在按照三个单独的提供者教程中的说明做所有事情。我也成功地将它用于我的数据表,没有任何问题。但是,当我尝试在小部件树上为我的 BottomNavigationBar 和我的 appBar 使用提供程序时,我不断收到错误消息和失败。
我想让我的底部导航栏与我的“零屏幕”状态分开。因此,我根据索引设置了一个带有底部导航栏按钮按下的 int,这应该更新我的 GlobalData pageSelection 索引。然后我为三元运算符在树上访问它。但我收到一个奇怪的错误,说它不在小部件树中......
我尝试做错误建议所述的事情,但没有运气。
任何帮助表示赞赏!
底部导航栏
零屏幕:
错误:
flutter - 订阅提供者状态并更新文本控制器
我想知道是否有任何方法可以订阅 didUpdate 或 initState 中的状态值。我基本上推送一个可以更改原始页面中的值的页面......当这种情况发生时,textController 需要使用新的状态值更新文本表单字段
目前我只是在 afterFirstLayout 期间初始化基于文本控制器,但是因为这永远不会再次触发,所以原始值仍然存在。
这可以做到吗?
flutter - 带有颤振块包丢失滚动位置的分页
在使用flutter_bloc 6.0时,我遇到了一个问题,我用bloc builder包装了脚手架,当新状态时,它的值将被附加到定义的空列表中。很好地附加了新的状态值,但 UI 全部重建并丢失了滚动位置,它转到了初始偏移位置。我该如何正确解决这个问题。
flutter - 未处理的异常:在构造函数中调用了 setState():
我知道有很多类似的问题,但没有一个对我有帮助,这就是我发布这个问题的原因,所以请多多包涵。
我的屏幕是:
随着_DashboardState().updateUI(Account().returnedData())
我返回一个“未来”的实例,我在 updateUI 中将其转向 ListView。
如果我在 updateUI 中打印 temp 我得到:
ListView(scrollDirection:垂直,主要:使用主控制器,AlwaysScrollableScrollPhysics,shrinkWrap:收缩包装)
所以我想这到目前为止有效。
问题是当我在 updateUI 中调用 setState() 时,出现错误
类似的代码在另一个项目中完美运行,所以它让我发疯。
flutter - 从另一个活动获取弹出堆栈后,第一个活动的 initState() 方法未初始化
我正在使用 3 个屏幕的颤振应用程序。
MainActivity
开到ActivityClass1
并且ActivityClass1
将开ActivityClass2
。现在,当我Navigator.pop(context),
从 ActivityClass2 中获取时,它将显示堆栈中的 ActivityClass1。但这一次我需要采取行动initState()
,ActivityClass1
因为我需要在ActivityClass1
.
有什么方法可以调用它也维护我的堆栈initState()
- >吗?我也尝试过 for而不是使用on但这会清除我的堆栈。ActivityClass1
MainActivity
ActivityClass1
Navigator.of(context).pushAndRemoveUntil(
Navigator.pop(context),
ActivityClass2