• Flutter 获取网络数据及渲染列表


    还是通过Dio包调用远程接口获取数据,这里返回值为一个Future,这个对象支持一个等待回掉方法then

    示例代码如下:

    复制代码
    import 'package:flutter/material.dart';
    import 'package:dio/dio.dart';
     
    class TestPage extends StatefulWidget {
      @override
      _TestPageState createState() => _TestPageState();
    }
     
    class _TestPageState extends State<TestPage> {
        List formList;
        initState() {
          super.initState();
          getHttp().then((val){
            setState(() {
              formList = val['result'].toList();
            });
          });
        }
    
        Future getHttp() async{
         try{
          Response response;
          Dio dio = new Dio();
          response =await dio.get("https://www.easy-mock.com/mock/5d3914e09388917915bccb2e/shopapp/shopapp_dh");
          print(response);
          return response.data;
    
         }catch(e){
          return print(e);
         }
        }
    
        Widget buildGrid() {
          List<Widget> tiles = [];//先建一个数组用于存放循环生成的widget
          for(var item in formList) {
            tiles.add(
              new Column(
                  children: <Widget>[
                      Image.network(item['image'], 500,height: 100,fit: BoxFit.cover,),
                      Text(item['title'])
                  ]
              )
            );
          }
          return Column(
              children:tiles
          );
        }
    
        @override
        Widget build(BuildContext context) {
            return Scaffold(
                appBar: AppBar(
                    title: Text('循环渲染组件案例'),
                ),
                body: SingleChildScrollView(
                  child: Column(
                      children: <Widget>[
                        buildGrid(),
                      ],
                  )     
                )
            );
        }
    }
    复制代码

    效果图:

     

     
  • 相关阅读:
    ICPC-Beijing 2006 狼抓兔子
    【模板】多项式求逆
    AHOI2014/JSOI2014 奇怪的计算器
    Hnoi2013 切糕
    Ahoi2014&Jsoi2014 支线剧情
    bzoj3774 最优选择
    WC2019游记
    HNOI2007 分裂游戏
    bzoj1457 棋盘游戏
    poj2484 A Funny Game
  • 原文地址:https://www.cnblogs.com/zxh1919/p/12932727.html
Copyright © 2020-2023  润新知