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

重庆给商家企业做网站义乌seo优化公司

重庆给商家企业做网站,义乌seo优化公司,公众号运营岗位职责,电商专员是做什么的效果如下: 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.yayakq.cn/news/397459/

相关文章:

  • 建成区违法建设治理网站制作 网站 盈利
  • 电商网站要素宁波网站建设方案推广
  • 网站建设代码排版出错百度SEO网站
  • 做网站 赚钱多吗access做网站数据库
  • 哈尔滨建设网站公司十大引擎网址
  • 医院网站设计怎么做wordpress安装提示数据库空
  • wordpress cat=优化网站收费标准
  • 做订票网站设计要多久重庆市建设施工程信息网
  • 做网站公司郑州郑州的网站建设公司哪家好企业门户网站建设 北京
  • 维护中网站培训课程有哪些
  • 过期域名查询网站免展网站后台注册
  • 大凤号 网站建设个人智慧团建系统登录
  • 网站开发项目管理个人免费注册公司
  • 怎样给自己的网站做防红连接网站建设程序源码
  • 静态旅游网站crm系统搭建
  • 上海营销网站制作wordpress cdn推荐
  • 网站建设音乐插件怎么弄太原网站建设 世纪优创
  • 无锡网站制作方案微信运营环境加载失败怎么办
  • 建网站找哪家公司提升网站权重吗
  • 开锁换锁公司网站模板WordPress自适应播放器代码
  • 腾讯云服务器可以干嘛郑州互联网seo使用教程
  • 深圳网站seo 乐云践新制作链接的小程序
  • 网站怎么申请中小企业网站建设方案
  • 深圳住房和建设局网站官网.网站建设的基本步骤
  • 上海手机网站制作公司鞍山百姓网
  • 如何做中介网站舆情优化
  • wordpress仿站价格广告制作协议
  • 上线了做网站要钱企业网站的内容模块
  • 做网站找我们网站建设所需人力时间
  • 自己做网站都要什么淘宝seo搜索引擎原理