flutter 订单界面网络请求

import 'dart:collection';
import 'dart:convert' as JSON;
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:meituanwaimai/wangluoqingqiu/shuaxinmoban.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
    
    
  @override
  Widget build(BuildContext context) {
    
    
    return new MaterialApp(
      // App名字
      title: 'EasyRefresh',
      // App主题
      theme: new ThemeData(
        primarySwatch: Colors.orange,
      ),
      // 主页
      home: BasicPage(),
    );
  }
}

class BasicPage extends StatefulWidget {
    
    
  @override
  State<StatefulWidget> createState() {
    
    
    return _BasicPageState();
  }
}

class _BasicPageState extends State<BasicPage> {
    
    

  int kaishi = 0;
  int number = 5;
  @override
  void initState() {
    
    
    // TODO: implement initState
    super.initState();
    qingqiu();
  }

  qingqiu() async {
    
    
    var resalt = await shuaxinmoban.resquest(
      '/xzj?start=$kaishi&count=$number',
      method: shuaxinmoban.GET,
    );

    var resalt_json = JSON.jsonDecode(resalt);

    setState(() {
    
    
      str = resalt_json;
     // str.addAll(more);
      //print(str['1']['name']);
    });
  }

  LinkedHashMap<String, dynamic> str = new LinkedHashMap<String, dynamic>();


  @override
  Widget build(BuildContext context) {
    
    
    return Scaffold(
      appBar: AppBar(
        title: Text("EasyRefresh"),
      ),
      body: Center(
          child: new EasyRefresh(
        child: new ListView.builder(
            //ListView的Item
            itemCount: str.length,
            itemBuilder: (BuildContext context, int index) {
    
    
              return new Container(
                  height: 70.0,
                  child: Card(
                    child: new Center(
                      child: Row(
                        children: [
                          Text(
                            str[index.toString()].toString().split("+")[0],
                            style: new TextStyle(fontSize: 18.0, color: Colors.red),
                          ),
                          Text(
                            str[index.toString()].toString().split("+")[1],
                            style: new TextStyle(fontSize: 18.0, color: Colors.red),
                          ),
                          Text(
                            str[index.toString()].toString().split("+")[2],
                            style: new TextStyle(fontSize: 18.0, color: Colors.red),
                          )
                        ],
                      )
                    ),
                  )
              );
            }),
        onRefresh: () async {
    
    
          // //下拉请求新数据
          await new Future.delayed(const Duration(seconds: 1), () async {
    
    
            //this.kaishi++;
            //int offset=(kaishi-1)*number;
            var resalt = await shuaxinmoban.resquest(
              '/xzj1?start=$kaishi&count=$number',
              method: shuaxinmoban.GET,
            );

            var resalt_json = JSON.jsonDecode(resalt);

            setState(() {
    
    
              LinkedHashMap<String, dynamic> more = resalt_json;
              str.clear();
              str.addAll(more);
            });
          });
        },
        loadMore: () async {
    
    
          await new Future.delayed(const Duration(seconds: 1), () async {
    
    
            this.kaishi++;
            int offset=(kaishi)*number;
            var resalt = await shuaxinmoban.resquest(
              '/xzj1?start=$offset&count=$number',
              method: shuaxinmoban.GET,
            );
            var resalt_json = JSON.jsonDecode(resalt);
            setState(() {
    
    
              LinkedHashMap<String, dynamic> more = resalt_json;
              str.addAll(more);
            });
          });
        },
      )), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

猜你喜欢

转载自blog.csdn.net/txaz6/article/details/109043454