firestore- flutter /我想通过firestore文档构建List <string>,但是它不起作用

时间:2018-12-05 22:53:56

标签: firebase dart flutter google-cloud-firestore

我正在练习扑朔迷离。

我想将此_list替换为我的代码,以获取我所有文档的标题字段字符串,但是它不起作用。

都是List,但是为什么不起作用?

  

I / flutter(30337):方法'map'在null上调用。

     

I / flutter(30337):接收方:空

     

I / flutter(30337):尝试调用:map(关闭:(String)=>   ChildItem)

void init() {
  _list = List();
  _list.add("Google");
  _list.add("IOS");
  _list.add("Andorid");
  _list.add("Dart");
  _list.add("Flutter");
  _list.add("Python");
  _list.add("React");
  _list.add("Xamarin");
  _list.add("Kotlin");
  _list.add("Java");
  _list.add("RxAndroid");
}

class ChildItem extends StatelessWidget {
  final String name;
  ChildItem(this.name);
  @override
  Widget build(BuildContext context) {
    return new ListTile(title: new Text(this.name));
  }

List<ChildItem> _buildSearchList() {
if (_searchText.isEmpty) {
  return _list.map((contact) => new ChildItem(contact))
      .toList();
}
else {
  List<String> _searchList = List();
  for (int i = 0; i < _list.length; i++) {
    String  name = _list.elementAt(i);
    if (name.toLowerCase().contains(_searchText.toLowerCase())) {
      _searchList.add(name);
    }
  }
  return _searchList.map((contact) => new ChildItem(contact))
      .toList();
}

} 这是我的代码

void init() {
  _list = listBuild();
}

List<String> listBuild(){
  StreamBuilder(
  stream: Firestore.instance.collection('Post').snapshots(),
  builder: (context, snapshot){
    if (!snapshot.hasData) return LinearProgressIndicator();
    return snapshot.data.documents.map((data) {
      return Post.fromSnapshot(data).title;
      }).toList();
  },
);
}

感谢您的帮助

0 个答案:

没有答案