【问题标题】:Flutter How to pass data from one screen to another if I need it before the BuildContext?Flutter 如果我在 BuildContext 之前需要它,如何将数据从一个屏幕传递到另一个屏幕?
【发布时间】:2021-10-25 17:43:10
【问题描述】:

我想发送一个带有特定 ID 的请求,但我只能在从构建小部件中的上一个屏幕接收到该 ID 后才能获取该 ID

void gettingTime() async {
    final response = await http.get(
      Uri.parse('http://192.168.1.11/Backend/dateValide.php?id=$id'),);
    print("StatusCodeDetail== ${response.statusCode}");
    if (response.statusCode == 200 || response.statusCode == 201) {
      setState(() {
        dataListTime = json.decode(response.body); //we store the json data in a list
        print("RESPONSE${response.body}");
      });

    }
    else {
      print("Error in loading from the server");

    }
     }
  

    @override
  

    void initState() {
        gettingTime();
        super.initState();
      }
    @override
      Widget build(BuildContext context) {
        dataMap=ModalRoute.of(context)?.settings.arguments as Map;//We recieve the data as a Map from the home screen
        String id=dataMap["previousScreenData"]["ID_EXCURSION"];

【问题讨论】:

  • 我感觉到一个问题来了。 :) 您没有提出任何问题,您想要解决的具体问题是什么?
  • 您的意思是?小部件.yourParameter

标签: flutter widget parameter-passing


【解决方案1】:

Pass the id as an argument 用于使用路由器的小部件构造函数

编辑:您并没有真正提出问题,所以我回答:“如果在 BuildContext 已知之前需要它,我如何将数据从一个屏幕传递到另一个屏幕?”希望它有所帮助:-)

【讨论】:

    猜你喜欢
    • 2021-11-08
    • 2021-01-06
    • 2019-10-27
    • 2021-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    相关资源
    最近更新 更多