【问题标题】:Not showing value不显示价值
【发布时间】:2020-06-23 19:55:42
【问题描述】:

将 pid 作为参数传递,用于在 URL 中获取用户的特定数据以获取数据但我无法在应用程序中获取数据,但在控制台中,它显示正确 我该怎么办?? 在下面发布两张图片,一张是控制台的输出,另一张是应用程序的输出

import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;

class userPage extends StatefulWidget {
  int id;
  userPage({this.id});
  @override
  _userPageState createState() => _userPageState();
}

class _userPageState extends State<userPage> {
  String person_full_name;
  String person_gender;
  String person_age;
  String person_phone;
  String person_address;
  String person_pic;

  FetchData() async{
    var response = await http.get("https://dev.uneva.in/task_721/patient.php?id=${widget.id}");
    if(response.statusCode ==200){
      var data = json.decode(response.body);
      print(data['person_full_name']);
      person_full_name = data['person_full_name'];
      person_gender = data['person_gender'];
      person_age = data['person_age'];
      person_phone = data['person_phone'];
      person_address = data['person_address'];
      person_pic = data['person_pic'];
    }
    else{
      print("Something went wrong");
    }
  }

  @override
  void initState(){
    FetchData();
  }

  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('$person_full_name'),
      ),
    );
  }
}

【问题讨论】:

    标签: json flutter flutter-layout


    【解决方案1】:

    如果你只是在进入视图之后才加载数据,那么你需要在设置变量时使用 setState ,以便它反映在你的视图上:

    FetchData() async{
      var response = await http.get("https://dev.uneva.in/task_721/patient.php?id=${widget.id}");
      if(response.statusCode ==200){
        var data = json.decode(response.body);
        print(data['person_full_name']);
        setState((){
          person_full_name = data['person_full_name'];
          person_gender = data['person_gender'];
          person_age = data['person_age'];
          person_phone = data['person_phone'];
          person_address = data['person_address'];
          person_pic = data['person_pic'];
        });
      }
      else{
        print("Something went wrong");
      }
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    相关资源
    最近更新 更多