Flutter的FutureBuilder列表示例
import 'package:flutter/material.dart';
import '../service/service_method.dart';
class CartPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
var formData = {'adCode': '', 'isDebug':'aa'};
return Scaffold(
body: FutureBuilder( //异步请求再渲染 不用setState改变状态
future: request('get','chinaAddr',formData:formData), //可选参数formData:formData=属性名:属性值
builder: (context, snapshot){ //snapshot就是_calculation在时间轴上执行过程的状态快照
if(snapshot.hasData){ //判断有没有值
//print(snapshot.data);
//数据处理
var data = snapshot.data;
List<Map> chinaData = (data\['data'\] as List).cast();
//print(chinaData);
return ListView.builder(
itemCount: chinaData.length,
itemBuilder: (context, index) {
final Map<String, dynamic> item = (chinaData)\[index\];
return ListTile(
title: Text('${item\["adName"\]}'),
subtitle: Text('${item\["adCode"\]}'),
);
}
);
}else{
return Center(
child: Text('加载中...'),
);
}
}
),
);
}
}
效果图:
手机扫一扫
移动阅读更方便
你可能感兴趣的文章