Flutter 在FutureBuilder中设置类型的最佳方法?

Flutter 在FutureBuilder中设置类型的最佳方法?,flutter,dart,Flutter,Dart,在FutureBuilder中设置快照数据类型的最佳方法是什么? 例如,在下面的代码中,我希望我的future返回一个列表,但无法调用snapshot.data.length,因为我的代码不知道它应该是列表,它只知道它是对象?类型的对象 FutureBuilder( future: locator<UniversityApi>().getUniversities builder: (context, snapshot) => ListView.builder(

FutureBuilder
中设置快照数据类型的最佳方法是什么? 例如,在下面的代码中,我希望我的future返回一个列表,但无法调用snapshot.data.length,因为我的代码不知道它应该是列表,它只知道它是
对象?
类型的对象

FutureBuilder(
  future: locator<UniversityApi>().getUniversities
  builder: (context, snapshot) => ListView.builder(
    itemBuilder: snapshot.data.length, //this line does not work
  ),
),
...

FutureBuilder(
future:locator().getuniversions
生成器:(上下文,快照)=>ListView.builder(
itemBuilder:snapshot.data.length,//此行无效
),
),
...

您可以这样定义快照类型:

FutureBuilder<List<dynamic>>( // replace dynamic with your type
  future: locator<UniversityApi>().getUniversities
  builder: (context, snapshot) => ListView.builder(
    itemBuilder: snapshot.data.length, //this line should work now
  ),
),
...
FutureBuilder<List<dynamic>>( // replace dynamic with your type
  future: locator<UniversityApi>().getUniversities
  builder: (context, snapshot) {
    if (snapshot.hasData) {
       return ListView.builder(
         itemBuilder: snapshot.data.length,
       );
    }

    return SizedBox(); // Return any placeholder widget
  }
),
...