flutter - 如何在 MyApp 的 build 方法中调用 Stateless 小部件,其状态由其 Stateful Parent 管理
问题描述
我在此链接 [https://flutter.dev/docs/development/ui/interactive#parent-managed][1] 上关注用于管理来自其父级的小部件状态的颤振教程,但我无法弄清楚如何调用在这种情况下小部件
解决方案
一旦你掌握了逻辑,这非常简单。
在实践中,父级(您调用的“真实”小部件),即
class ParentWidget extends StatefulWidget {
@override
_ParentWidgetState createState() => _ParentWidgetState();
}
是您在其余代码中随时随地调用的那个。
由于这是一个有状态的小部件,这意味着它已声明(为简单起见,它将管理 UI 上的任何更改)。任何改变都会发生,它会改变它的状态,所以,这段代码:
class _ParentWidgetState extends State<ParentWidget> {
bool _active = false;
void _handleTapboxChanged(bool newValue) {
setState(() {
_active = newValue;
});
}
@override
Widget build(BuildContext context) {
return Container(
child: TapboxB(
active: _active,
onChanged: _handleTapboxChanged,
),
);
}
}
无论如何,一旦你使用了一个有状态的小部件,你就可以在你想调用这个函数时改变它的状态
setState(() {
oldValue= newValue;
});
它将重建整个小部件以更改您想要的内容(例如文本、图像、小部件等)。以一种不恰当的方式,将其视为可以在此期间更改其 UI 的特定小部件。
推荐阅读
- web-scraping - 已被抓取的内容 (Admob) 禁用了广告
- flutter - 颤振中的自定义警报对话框
- python - 使用 re.compile 识别文本文件的正确行
- sql - Bigquery - json_array 来自字段的额外多个元素
- dynamics-crm - 从另一个上下文标记完成
- javascript - 在 react-native 中重新渲染。我们可以优化我面临的问题吗?
- c - 如何允许用户继续输入彩票号码,直到用户决定停止或结束程序。(在 C 编程中)
- excel - VBA代码问题将多个工作表组合成一个主表并在主表存在时刷新
- javascript - Google Apps 脚本占用了太多时间,有没有办法减少运行时间?
- r - 为什么 rowSums 不适用于在 R 中使用 pivot_wider 创建的数据框?