繁体   English   中英

如何以编程方式在 flutter 中的堆栈下调用多个小部件

[英]How to programmatically call multiple widget under a stack in flutter

我有一个带有几个按钮的屏幕,我想为每个按钮显示一个滑动面板(传递一些信息以显示在面板中)。

我用过这个小部件: https://pub.dev/packages/sliding_up_panel

我想了解如何在单击特定按钮后显示堆栈下的小部件以编程方式传递一些信息。 有可能的?

在简短的代码片段之后,我们可以看到包含 SlidingPanel 的堆栈。 我希望能够显示滑动面板单击特定按钮并以编程方式将信息传递给它。

到目前为止,我发现的唯一解决方案是将所有可能的滑动面板添加到堆栈中,然后单击仅显示我需要的按钮的按钮,但我希望有更好的方法来做到这一点。

谢谢

return Stack(
  children: [
    Scaffold(
    .....
    ),
    SlidingUpPanel(
      panelController: panelController,
      nameTEController: nameTEPanel,
      platform: 'Instagram',
    )
    ]

只需在列表中填充您的小部件列表。 如果您使用的是 StatefullWidget,则只需调用setState(() => )

你可以这样做:

List<Widget> _myWidgetList = [];
[...]
return Stack(
  children: _myWidgetList);

List<Widget> _buildMyWidgetList() {
  final List<Widget> tmpList = [];
  tmpList..add(Widget1)
    ..add(Widget2);
  setState(() => _myWidgetList = tmp);
}

然后只需在按钮上调用您的 buildWidgets 函数。

另一种方法是使用 Bloc: https://pub.dev/packages/flutter_bloc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM