我有一个带有两个标签的Tabbar
。 Tabbar
有自己的Appbar
,两个标签都使用。如何在每个选项卡的有状态小部件内使排序按钮运行自定义(设置状态)功能?或者,每个选项卡是否可以具有自己唯一的Appbar
?我不确定这里最好的方法是什么。
其中一个标签内的示例方法:
class _TabAState extends State<TabA> {
void sort() {
setState(() {
myList.sort((a, b) => b.dueDate.compareTo(a.dueDate));
});
}
...
排序按钮:
IconButton(
icon: Icon(Icons.sort),
onPressed: () => DefaultTabController.of(context).index == 0
? TabA.sort() // Does not work
: TabB.sort(), // Does not work
),
答案 0 :(得分:1)
关于您是否担心这种方法是最好的方法:
来自文档
脚手架被设计为MaterialApp的单个顶级容器,通常不需要嵌套脚手架。
基于此陈述,我建议将多个Scaffold
嵌套在另一个Scaffold
中可能不是一个好主意。假设您每个AppBar
只能有一个Scaffold
,这与您的担心有关,是否将AppBar
嵌套在Scaffold
内。
我个人不推荐来自其他 Flutter Widget
类的静态或非静态方法(例如,用作您的独立屏幕的小部件应用程序)来执行应用程序的业务逻辑。也许,您可以继续使用诸如ScopedModel
之类的小部件以及诸如BloC,Redux或Mobx之类的架构模式来实现应用程序的业务逻辑。
进一步阅读: