【发布时间】:2021-04-28 11:45:48
【问题描述】:
a sample of what i have in mind
var url = 'https://www.googleapis.com/books/v1/volumes?q=egg';
Future<BookResponse> getData() async {
var response = await http.get(url);
var responseBody = jsonDecode(response.body);
// print(responseBody);
return BookResponse.fromJson(responseBody);
}
-----
FutureBuilder<BookResponse>(
future: getData(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.hasError) print(snapshot.error);
if (snapshot.hasData) {
return ListView.builder(
itemCount: snapshot.data.items.length,
itemBuilder: (context, index) {
return Card(
child: ListTile(
title:
Text(snapshot.data.items[index].volumeInfo.title),
));
});
} else
return Center(child: CircularProgressIndicator());
},
)
我正在尝试创建一种将 json 映射转换为 List<widgets> 的方法,以便我可以使用它来显示项目。
我找不到将项目显示为行和列的方法。
是否可以使用FutureBuilder 拥有多个小部件? (例如,一行书籍和另一行显示作者)
如果是这样,我会避免将其转换为List<widgets>
【问题讨论】:
标签: json flutter dart flutter-layout flutter-futurebuilder