除非我热刷新,否则我的cupertino Picker不会显示孩子

问题描述

我扑扑上有一个库珀蒂诺采摘机,可以将其孩子从火堆中救出来。

    return Cupertinopicker(
  itemExtent: 50,onselecteditemchanged: (int index) {
    setState(() {
      _selectedUserId = user[index].userId;
      _selectedUserName = user[index].name;
      IosUserDropdownList.selectedUserId = user[index].userId;
      IosUserDropdownList.selectedUserName = user[index].name;
    });
    print(_selectedUserId);
    print(_selectedUserName);
  },children: user.map((user) {
    return CupertinoButton(
      onpressed: () {},child: Text(
        user.name,style: TextStyle(color: CupertinoColors.activeBlue),),);
  }).toList(),);

这是我从Firestore获取用户的方式:

  Stream<List<UserData>> get users {
    return userCollection.snapshots().map(_userListFromSnapshot);
  }

并使用我的UserData模型将其转换为列表:

  List<UserData> _userListFromSnapshot(QuerySnapshot snapshot) {
    return snapshot.documents.map((doc) {
      return UserData(
          name: doc.data['name'] ?? '',userId: doc.documentID ?? '');
    }).toList();
  }

问题是,当我使用选择器导航到页面时,在选择器上看不到任何数据。但是,当我进行热刷新时,数据就会显示出来。

当我在下一页上时,选择器还会显示数据,并使用该选择器将Navigator.pop(context)返回屏幕。我已经在这上进行了数周,但没有成功。请帮忙。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...