首页 > 其他 > 详细

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

时间:2020-05-21 19:37:17      阅读:118      评论:0      收藏:0      [点我收藏+]

示例代码如下:

技术分享图片
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‘],width: 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(),
                  ],
              )     
            )
        );
    }
}
技术分享图片

 

效果图:

技术分享图片 

 

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

原文:https://www.cnblogs.com/zxh1919/p/12932727.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!