【问题标题】:Only static members can be accessed in initializers flutter在初始化程序颤动中只能访问静态成员
【发布时间】:2020-03-31 15:17:12
【问题描述】:

我是 Flutter 新手,我这里有一个有状态的类

class _EmployeeSeekerScreenState extends State<EmployeeSeekerScreen> {
  static var _userID;
  void initState() {
    getID();
    super.initState();
  }

  int _selectedIndex = 0;

  final List<Widget> _widgetOptions = <Widget>[
    StreamData(
      document: _userID,
      collection: 'users',
    ),
    Text(
      '2',
    ),
    Text(
      'Index 2: School',
    ),
  ];
}

我有一个名为 getID() 的方法,这是代码

 getID() async {
    FirebaseUser user = await FirebaseAuth.instance.currentUser();
    setState(() {
      _userID = user.uid;
    });
  }

我已经成功获取了 userID 的值,但是当我将它分配给我的 StreamData 小部件中的文档变量时,它结果是空值。

我的问题是如何将 userID 值传递给我的 _widgetOptions 文档变量?

【问题讨论】:

  • 为什么 _userID 是静态的?
  • 如果使用字符串变量,结果是只有静态成员可以在初始化程序中访问,有什么解决方案吗?

标签: flutter dart


【解决方案1】:

终于解决了这个问题,把widget getter改成这个

 List<Widget> get _widgetOptions =>

【讨论】:

    猜你喜欢
    • 2020-01-05
    • 2019-01-23
    • 2018-11-13
    • 1970-01-01
    • 2020-08-31
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多