无法使用来自Future函数中参数的数据

塞尔梅德·贝瓦里(Sermed Berwari)

我有页面将数据作为参数发送到其他页面,第二个页面在其中接收参数(Widget build(BuildContext context)),所以Future函数位于页面Class的开头,如下代码:

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

class Days extends StatefulWidget {
  @override
  _DaysState createState() => _DaysState();
}

class _DaysState extends State<Days> {
  var cm_id;
  var d_id;
  var w_id;
  var u_id;
  Map rdata = {};
  Map data = {};
  List digrees;
  Future getDigrees() async {
    var url = 'http://10.0.2.2/jiyan/test/api/digrees/day_digree.php?u_id=' +
        u_id +
        '&m_id=' +
        cm_id +
        '&d_id=' +
        d_id;
    var response = await http.get(url);
    data = jsonDecode(response.body);
  }
  @override
  void initState() {
    super.initState();
    getDigrees();
  }
  @override
  Widget build(BuildContext context) {
    rdata = ModalRoute.of(context).settings.arguments;
    setState(() {
      cm_id = int.parse(rdata['current_m_id'].toString());
      d_id = int.parse(rdata['d_id'].toString());
      w_id = int.parse(rdata['w_id'].toString());
      u_id = int.parse(rdata['u_id'].toString());
    });
    return Scaffold()

现在,该函数无法接收这些数据,我该怎么办?

尼克拉斯·莱恩菲尔德
  1. 您应该考虑不要将所有内容作为成员变量置于状态中。尝试尽可能多地使用依赖项注入(将所需的所有内容用作方法参数)。

  2. 在Dart中,使用$这样的字符串连接很容易:

int a = 5;
int b = 10;
String result = "$a + $b = ${a+b}";
  1. 这是我建议的代码:
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:convert';

class Days extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return FutureBuilder(
      future: fetchDigrees(context),
      builder: (context, snapshot) {
        if (snapshot.connectionState != ConnectionState.done) {
          return Center(
            child: Text("Loading...."),
          );
        }

        List digrees = snapshot.data;

        return Text(digrees.length.toString());
      },
    );
  }

  Future<List> fetchDigrees(BuildContext context) async {
    Map rdata = ModalRoute.of(context).settings.arguments;

    int cm_id = int.parse(rdata['current_m_id'].toString());
    int d_id = int.parse(rdata['d_id'].toString());
    int w_id = int.parse(rdata['w_id'].toString());
    int u_id = int.parse(rdata['u_id'].toString());

    var url =
        'http://10.0.2.2/jiyan/test/api/digrees/day_digree.php?u_id=$u_id&m_id=$cm_id&d_id=$d_id';
    var response = await http.get(url);
    var data = jsonDecode(response.body);

    return data["digrees"]; //or however you have to extract this from the json
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用来自对象的参数运行函数?

来自分类Dev

使用来自JavaScript的参数调用ASP.net函数

来自分类Dev

使用来自Ajax的参数调用php函数(DataTable jQuery)

来自分类Dev

使用来自cmd.exe的参数运行python函数

来自分类Dev

Flask:使用来自表单动作的参数调用函数

来自分类Dev

无法使用来自API的数据在UITableView中插入单元格

来自分类Dev

如何使用来自不同jsons的数据编写函数?

来自分类Dev

无法使用来自 ajax 响应文本的 Json 数据

来自分类Dev

使用来自另一个类的参数调用视图控制器中的函数

来自分类Dev

在工厂中重复使用来自$ http的数据

来自分类Dev

如何使用来自 URL 的数据填充 javaFX 中的 ListView?

来自分类Dev

使用来自使用遍历的函数的路径

来自分类Dev

使用来自cognito的参数获取reactjs

来自分类Dev

使用来自数组的参数运行命令

来自分类Dev

在我调用函数的控制器上使用来自模型函数的变量数据

来自分类Dev

Javascript-使用来自函数的响应

来自分类Dev

使用来自Solr的函数查询

来自分类Dev

如何使用来自不同函数的列表?

来自分类Dev

Rails 4在回调(模型)函数中使用来自控制器的参数

来自分类Dev

编写构造函数时,需要使用来自其他类的枚举参数

来自分类Dev

如何使用来自字符串变量的参数调用Java脚本函数

来自分类Dev

使用来自另一个类的参数复制构造函数

来自分类Dev

如何在php中使用来自plsql的参数调用函数?

来自分类Dev

使用来自Stdin的gnuplot绘制数据

来自分类Dev

使用来自SQLite的数据填充ExpandableListView

来自分类Dev

使用来自Readability Parser API的数据

来自分类Dev

使用来自Meteor Template订阅的数据

来自分类Dev

在 NodeJS 中使用来自 JSON 的数据

来自分类Dev

组合线图(使用来自 DataFrames 的数据)

Related 相关文章

  1. 1

    如何使用来自对象的参数运行函数?

  2. 2

    使用来自JavaScript的参数调用ASP.net函数

  3. 3

    使用来自Ajax的参数调用php函数(DataTable jQuery)

  4. 4

    使用来自cmd.exe的参数运行python函数

  5. 5

    Flask:使用来自表单动作的参数调用函数

  6. 6

    无法使用来自API的数据在UITableView中插入单元格

  7. 7

    如何使用来自不同jsons的数据编写函数?

  8. 8

    无法使用来自 ajax 响应文本的 Json 数据

  9. 9

    使用来自另一个类的参数调用视图控制器中的函数

  10. 10

    在工厂中重复使用来自$ http的数据

  11. 11

    如何使用来自 URL 的数据填充 javaFX 中的 ListView?

  12. 12

    使用来自使用遍历的函数的路径

  13. 13

    使用来自cognito的参数获取reactjs

  14. 14

    使用来自数组的参数运行命令

  15. 15

    在我调用函数的控制器上使用来自模型函数的变量数据

  16. 16

    Javascript-使用来自函数的响应

  17. 17

    使用来自Solr的函数查询

  18. 18

    如何使用来自不同函数的列表?

  19. 19

    Rails 4在回调(模型)函数中使用来自控制器的参数

  20. 20

    编写构造函数时,需要使用来自其他类的枚举参数

  21. 21

    如何使用来自字符串变量的参数调用Java脚本函数

  22. 22

    使用来自另一个类的参数复制构造函数

  23. 23

    如何在php中使用来自plsql的参数调用函数?

  24. 24

    使用来自Stdin的gnuplot绘制数据

  25. 25

    使用来自SQLite的数据填充ExpandableListView

  26. 26

    使用来自Readability Parser API的数据

  27. 27

    使用来自Meteor Template订阅的数据

  28. 28

    在 NodeJS 中使用来自 JSON 的数据

  29. 29

    组合线图(使用来自 DataFrames 的数据)

热门标签

归档