前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >flutter - 方法 '[]'在null上被调用,但在inApp中有效

flutter - 方法 '[]'在null上被调用,但在inApp中有效

原创
作者头像
徐建国
修改2021-08-03 10:40:18
9240
修改2021-08-03 10:40:18
举报
文章被收录于专栏:个人路线个人路线

flutter - 方法 '[]'在null上被调用,但在inApp中有效

代码语言:javascript
复制
class DetailPage extends StatefulWidget {
    final String text;
  DetailPage ({Key key, @required this.text}) : super(key: key);
  @override
  _DetailPage createState() => _DetailPage();
}
​
class _DetailPage extends State<DetailPage> {
  Map mapResponse;
  Future fetchData() async {
    Uri url = Uri.parse('');
​
    Response<String> response = await Dio().request(url.toString(),
        options: Options(
            headers: {}));
​
    if (response.statusCode == 200) {
      setState(() {
        mapResponse = json.decode(response.data);
      });
    }
  
  }
​
  @override
  void initState() {
    fetchData();
    super.initState();
  }
​
​
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: SafeArea(
            bottom: false,
            child: Stack(children: <Widget>[
              SingleChildScrollView(
                  child: Column(
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: <Widget>[
                    Padding(
                      padding: const EdgeInsets.all(32.0),
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: <Widget>[
                          SizedBox(height: 300),
                          Text(
                            mapResponse['item']['name'],
                            style: TextStyle(
                              fontFamily: 'Avenir',
                              fontSize: 56,
                              color: Colors.blue,
                              fontWeight: FontWeight.w900,
                            ),

这就是我的json的样子

代码语言:javascript
复制
{
    "status": true,
    "item": {
        "name": "Name here",
    (moreJsonHere)

最佳答案

这意味着检索数据需要很短的时间, 试试这个。数据为空时,它将在短时间内通过进度指示器

代码语言:javascript
复制
mapResponse !=null ? Text(
    mapResponse['item']['name'],
    style: TextStyle(
    fontFamily: 'Avenir',
    fontSize: 56,
    color: Colors.blue,
    fontWeight: FontWeight.w900,
    ):CircularProgressIndicator(),

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • flutter - 方法 '[]'在null上被调用,但在inApp中有效
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档