【问题标题】:passing data to a widget that´s not parent/child - Flutter/Dart将数据传递给不是父/子的小部件 - Flutter/Dart
【发布时间】:2021-05-01 09:48:26
【问题描述】:

我是 Flutter 新手,需要一些帮助! 我知道如何将数据从父母传递给孩子,反之亦然。 但是如何从接收 Widget 传递既不是父也不是子 Widget 的数据?

【问题讨论】:

    标签: flutter dart variables widget


    【解决方案1】:

    你把它传回给父母,直到你找到一个父母,它是两者的祖先,然后你把它传给孩子,直到你打到它本来要给的孩子。

    如果这看起来工作量太大,因为它们在树中相距太远,请考虑使用state management 的另一种方法。

    【讨论】:

    • 我也想过这个,但唯一的“连接”是在列表中找到的。不幸地以经典方式/我知道的方式传递数据在列表中不起作用。
    • 我不知道为什么它不会,但是看看其他的状态管理方式并选择一个适合你的方式。
    • 如果你有时间看看我之前的问题。也许你知道怎么了stackoverflow.com/questions/67332474/…。谢谢!
    【解决方案2】:

    你有多种选择:

    1. 使用状态管理(如果您只想将参数从一个屏幕发送到另一个屏幕,则不推荐)

    2. 使用这样的东西:

      class ClassName extends StatefulWidget {
      
          final int param1;
      
          const ClassName({Key key, this.param1}) : super(key: key);
      
      }
      

    当你想路由到这个屏幕时,你可以像这样传递 param1:

    Navigator.of(context).push(ClassName(param1: value));
    
    1. 列表项 你可以使用一些像autoRoute这样的库

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-02
      • 2020-12-01
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-24
      相关资源
      最近更新 更多