gpt4 book ai didi

flutter - 在flutter中从子选项卡动态设置appbar Action

转载 作者:行者123 更新时间:2023-12-03 04:00:22 25 4
gpt4 key购买 nike

首先,我可能在如何设计来解决我的问题上搞错了,所以请随意提出完全不同的想法。

我的应用中有一个带有标签的页面。这些选项卡继承自一个公共(public)类,因此它们可以具有与页面父级类似的界面。该页面有一个应用栏,当然可以进行操作。现在的问题是,对于其中一个选项卡,我想添加一个编辑操作,当按下它时,我将为该选项卡设置一个编辑模式。然后将操作更改为保存是有意义的。

我不确定如何在父页面没有该选项卡的自定义代码的情况下动态控制它。我只是想让标签告诉父它想要一个 Action (我可以做),但我不知道如何动态地做(从编辑更改为保存),因为标签是一个 StatefulWidget(它只有最终成员) .我不知道选项卡的状态如何以一种很好的方式将此通知给 parent 。你怎么看?

最佳答案

我就是这样做的。

创建一个通知派生类:

class UpdateActionBarActionsNotification extends Notification {

final List<Widget> appBarActions;
UpdateActionBarActionsNotification({
this.appBarActions,
});

}

确保构建 AppBar 的 Widget 监听此通知:
NotificationListener<UpdateActionBarActionsNotification>(
onNotification: (notification) {
setState(() { _appBarActions = notification.appBarActions; });
return false;
},
child: ...
_appBarActions是一个状态属性,您将分配给 actions AppBar 的属性。

然后,每个选项卡都可以使用此通知来显示其操作:
scheduleMicrotask(() {
UpdateActionBarActionsNotification(
appBarActions: [
...
],
).dispatch(context);
});

整个逻辑在 https://github.com/nbonamy/stanley/blob/master/lib/tabs.dart 中可用.示例 ( https://github.com/nbonamy/stanley/blob/master/example/lib/main.dart ) 展示了如何使用它。

关于flutter - 在flutter中从子选项卡动态设置appbar Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57663773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com