Не показывает значение - PullRequest
0 голосов
/ 11 марта 2020

Передача 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'),
      ),
    );
  }
}

This is the result that I got in console

This is what I got in the App instead of showing name it show null

1 Ответ

1 голос
/ 11 марта 2020

Если вы загружаете данные только после перехода в представление, вам нужно использовать 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");
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...