Flutter中如何从API响应的result列表获取name并在ListView展示?
在ListView.builder中展示API返回的result数组内的name字段
你已经编写好了API响应的模型类,现在要从返回数据的result数组里取出name字段,并用ListView.builder展示,具体实现如下:
1. 解析API响应数据
先把网络请求拿到的响应字符串解析成PostFromJson对象:
// 假设responseBody是API返回的原始字符串 PostFromJson postData = postFromJsonFromJson(responseBody);
2. 用ListView.builder渲染列表
以postData.result作为列表的数据源,在itemBuilder中获取对应位置的Result对象,直接取出name字段放到Text组件里:
ListView.builder( // 列表项数量等于result数组的长度 itemCount: postData.result.length, itemBuilder: (BuildContext context, int index) { // 获取当前索引对应的Result对象 Result currentItem = postData.result[index]; // 用ListTile或其他组件展示name,加??处理null情况 return ListTile( title: Text(currentItem.name ?? '未命名'), ); }, )
注意事项:
- 必须指定
itemCount为postData.result.length,否则列表会无限渲染 - 用
?? '未命名'是为了处理name字段可能为null的情况,防止出现UI错误 - 如果需要更复杂的列表项布局,直接替换
ListTile为自定义Widget即可
内容的提问来源于stack exchange,提问作者Mr.Robot
相关产品推荐
相关产品推荐

