当前位置: 首页 > news >正文

凡科代理建站登录网页设计html代码大全

凡科代理建站登录,网页设计html代码大全,广告设计制作税率,香精效果如下: flutter实现上拉加载下拉刷新 使用到的库是easy_refresh 安装请查看官网 接口用的是提供的接口https://reqres.in/ 请求接口用到的库是dio 下面主要是介绍如何使用easy_refresh实现上拉加载数据,详细学习其它例子请查看easy_refresh main…

效果如下:

flutter实现上拉加载下拉刷新

使用到的库是easy_refresh

安装请查看官网

接口用的是提供的接口https://reqres.in/

请求接口用到的库是dio

下面主要是介绍如何使用easy_refresh实现上拉加载数据,详细学习其它例子请查看easy_refresh

main.dart全部代码如下

import 'package:flutter/material.dart';
import 'package:easy_refresh/easy_refresh.dart';
import 'package:dio/dio.dart' as MyDio;void main() => runApp(const MyApp());class MyApp extends StatelessWidget {const MyApp({Key? key}) : super(key: key);@overrideWidget build(BuildContext context) {return const MaterialApp(title: 'EasyRefresh',home: HomePage(),);}
}class HomePage extends StatefulWidget {const HomePage({Key? key}) : super(key: key);@overrideState<HomePage> createState() => _HomePageState();
}class _HomePageState extends State<HomePage> {int _page = 1;List<UserData> dataList = [];late EasyRefreshController _controller;@overridevoid initState() {super.initState();_controller = EasyRefreshController(controlFinishRefresh: true,controlFinishLoad: true,);setState(() {dataList = [];_page = 1;});initListData();}@overridevoid dispose() {_controller.dispose();super.dispose();}Future<ApiResponse> _fetchListData(int page) async {MyDio.Dio dio = MyDio.Dio();MyDio.Response response =await dio.get('https://reqres.in/api/users', queryParameters: {'page': page,});ApiResponse data = ApiResponse.fromJson(response.data);return data;}void initListData() async {final resData = await _fetchListData(_page);if (resData.data.isNotEmpty) {setState(() {dataList = dataList..addAll(resData.data);_page = _page + 1;});_controller.finishRefresh();_controller.resetFooter();initListData();}}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text('EasyRefresh'),),body: EasyRefresh(controller: _controller,header: const ClassicHeader(armedText: '下拉加载更多',readyText: '正在加载中...',showMessage: false,processedText: '加载完成',processingText: '刷新中...',textStyle: TextStyle(color: Color(0xFFFF2B2B))),footer: const ClassicFooter(noMoreText: '没有更多数据了',noMoreIcon: Icon(Icons.mood_rounded),showMessage: false,processingText: '正在加载中...',textStyle: TextStyle(color: Color(0xFF846FFD))),onRefresh: () async {setState(() {dataList = [];_page = 1;});initListData();},onLoad: () async {final resData = await _fetchListData(_page);setState(() {dataList = dataList..addAll(resData.data);_page = _page + 1;});_controller.finishLoad(resData.data.isEmpty? IndicatorResult.noMore: IndicatorResult.success);// _fetchListData(_page);},child: ListView.builder(itemBuilder: (context, index) {return Card(child: Container(alignment: Alignment.center,height: 80,// ignore: unnecessary_string_interpolationschild: Text('${dataList[index].firstName}'),),);},itemCount: dataList.length,),),);}
}class ApiResponse {final int page;final int perPage;final int total;final int totalPages;final List<UserData> data;final Support support;ApiResponse({required this.page,required this.perPage,required this.total,required this.totalPages,required this.data,required this.support});factory ApiResponse.fromJson(Map<String, dynamic> json) {var list = json['data'] as List;List<UserData> dataList = list.map((i) => UserData.fromJson(i)).toList();return ApiResponse(page: json['page'],perPage: json['per_page'],total: json['total'],totalPages: json['total_pages'],data: dataList,support: Support.fromJson(json['support']),);}
}class UserData {final int id;final String email;final String firstName;final String lastName;final String avatar;UserData({required this.id,required this.email,required this.firstName,required this.lastName,required this.avatar});factory UserData.fromJson(Map<String, dynamic> json) {return UserData(id: json['id'],email: json['email'],firstName: json['first_name'],lastName: json['last_name'],avatar: json['avatar'],);}
}class Support {final String url;final String text;Support({required this.url, required this.text});factory Support.fromJson(Map<String, dynamic> json) {return Support(url: json['url'],text: json['text'],);}
}
http://www.hkea.cn/news/490613/

相关文章:

  • 站长网站查询深圳百度关键字优化
  • 用net语言做网站平台好不好企业培训师资格证报考2022
  • 成都定制网站设竞价推广遇到恶意点击怎么办
  • 制作视频网站建设友链交易网
  • 做外贸是不是要有网站腾讯企点app下载安装
  • 网站开发快递文件国外网站怎么推广
  • 网站和搜索引擎站长论坛
  • 做违法网站会怎样外贸独立站怎么建站
  • 云主机建网站教程深圳全网推互联科技有限公司
  • 做网站赚50万谷歌搜索引擎363入口
  • 台州网站设计外包网页制作公司排名
  • 网站建设投标文件范本亚马逊提升关键词排名的方法
  • 学做网站需要多长时间免费推广平台排行
  • wordpress运行php 404360优化大师下载
  • seo排名网站 优帮云线上推广的三种方式
  • 平凉哪有做网站的百度推广登录入口官网网
  • 娄底网站优化自建网站平台有哪些
  • 做网站需要多少兆空间wix网站制作
  • 哪些网站教做生物实验今日新闻联播
  • 铜川市住房和城乡建设局网站信息流广告哪个平台好
  • 太原市建设交易中心网站首页百度手机助手app安卓版官方下载
  • 昆山网站建设网站建设郑州网络推广哪个好
  • 瑜伽网站设计国外推广网站
  • 什么网站做国外批发百度推广自己怎么做
  • 网站管理工具百度推广可以自己开户吗
  • 三水网站制作中山做网站推广公司
  • ysl网站设计论文郑州seo地址
  • 做食品的网站设计要注意片多多可以免费看电视剧吗
  • 网站排名推广自己怎么做长沙seo代理商
  • 手机网站改版公司加盟关键词优化排名查询