Riverpod - 如何将 PreferredSizeWidget 包装在消费者中

Bur*_*çın 2 dart flutter flutter-provider riverpod

我有一个DefaultTabController,我有一个方法可以返回页面List<PreferredSizeWidget>AppBar's 。我希望他们在 a 中观看状态ChangeNotifier,因此我想将它们包装在 a 中Consumer。当我尝试这样做时,我收到如下错误:

“不能将参数类型 'Widget' 分配给参数类型 'PreferredSizeWidget'。”

我怎样才能解决这个问题?

感谢致敬。

Mic*_*ndz 5

错误来自appBar的参数Scaffold要求 a PreferredSizeWidget。我可以想到两种解决方案:

  • 你可以Consumer用 a包裹你的PreferredSize并使用Size.fromHeight()as preferredSize。也就是说,如果您的应用栏之间的高度是恒定的。
  • 您可以通过使用内部 aappBar包裹您Scaffold的主体并使其成为其第一个子项来完全避免使用该参数。ExpandedColumnConsumer