Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
颤振,我的DataTable和php Json输出问题。。。我解决不了_Php_Flutter_Flutter Layout_Flutter Web_Flutter Test - Fatal编程技术网

颤振,我的DataTable和php Json输出问题。。。我解决不了

颤振,我的DataTable和php Json输出问题。。。我解决不了,php,flutter,flutter-layout,flutter-web,flutter-test,Php,Flutter,Flutter Layout,Flutter Web,Flutter Test,现在,从三天开始,我正在努力让它工作(json数据和Flatter数据表),看起来一切都很好,我得到了php json数据,我解码了。。但仍然无法找到将其动态放入数据表行的方法 这是处理http请求和解码json数据的主要代码 这是解码前的json数据 {"results":[{"ID":"1","TYPE_ID":"11","TYPE":"REPORT",

现在,从三天开始,我正在努力让它工作(json数据和Flatter数据表),看起来一切都很好,我得到了php json数据,我解码了。。但仍然无法找到将其动态放入数据表行的方法

这是处理http请求和解码json数据的主要代码

这是解码前的json数据

{"results":[{"ID":"1","TYPE_ID":"11","TYPE":"REPORT","SUB":"GOING HOLIDAY","USER_ID":"11","CREATE_DATE":"2021-05-10"},{"ID":"2","TYPE_ID":"11","TYPE":"COMMENTS","SUB":"GOING
HOLIDAY","USER_ID":"11","CREATE_DATE":"2021-05-10"}]}
这是在编码之后

{results: [{ID: 1, TYPE_ID: 11, TYPE: REPORT, SUB: GOING HOLIDAY, USER_ID: 11, CREATE_DATE: 2021-05-10}, {ID: 2, TYPE_ID: 11, TYPE: COMMENTS, SUB: GOING HOLIDAY, USER_ID: 11,CREATE_DATE: 2021-05-10}]}
用于处理http和json的函数

Future noti_table() async {
  try {
    var url = Uri.parse('192.168.1.111');
    http.Response response = await http.get(url);

    if (response.statusCode == 200) {
      //return response.body;
      // var data = json.decode(utf8.decode(response.bodyBytes));
      print(response.body);
      final responseJson = jsonDecode(response.body);
      print(responseJson);
      Sale sale = new Sale.fromJson(responseJson);
      return sale;
      //print("Result: ${sale.results}");
      //return sale;
    }
  } catch (e) {
    print(e);
    return null;
  }
}
用于处理json结构的类

class Sale {
  final List<Results> results;

  Sale({this.results});
  factory Sale.fromJson(Map<String, dynamic> json) {
    return Sale(
      results: parsedResult(json),
    );
  }
  static List<Results> parsedResult(resultJson) {
    var list = resultJson['results'] as List;
    List<Results> resultList =
        list.map((data) => Results.fromJson(data)).toList();
    return resultList;
  }
}

class Results {
  final String id;
  final String type;
  Results({this.id, this.type});
  factory Results.fromJson(Map<String, dynamic> json) {
    //print(json['TYPE']);
    return Results(
      id: json['ID'],
      type: json['TYPE'],
    );
  }
}
这段代码用于使用FutureBuilder查看数据表,问题代码为“returnsingleChildScrollView(”

小部件构建(构建上下文){
返回容器(
孩子:未来建设者(
未来:获取表格信息(),
生成器:(BuildContext上下文,异步快照){
如果(snapshot.data==null){
返回容器(子对象:中心(子对象:CircularProgressIndicator());
}否则{
返回SingleChildScrollView(
滚动方向:轴水平,
子:SingleChildScrollView(
子:数据表(
栏目:[
DataColumn(标签:Text('ID'),工具提示:'ID'),
DataColumn(标签:Text('Type'),工具提示:'Type'),
],
行:snapshot.data
.map((数据)=>
//我们每次都返回一个数据行
数据行(
//每行都需要列表单元格
单元格:[
数据单元(文本(“如何显示她的id”),
数据单元(文本(“如何显示键入HER”),
]))
.toList(),
),
),
);
}
},
),
);
}
开始使用Future builder后收到错误

══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following NoSuchMethodError was thrown building FutureBuilder<dynamic>(dirty, state:
_FutureBuilderState<dynamic>#6bf96):
'map'
Dynamic call of null.
Receiver: Instance of 'Sale'
Arguments: [Instance of '(dynamic) => DataRow']

The relevant error-causing widget was:
  FutureBuilder<dynamic>
  file:///C:/Users/dhd20/Desktop/2022/op%20web/flutter_application_1/lib/screens/NotiTable.dart:29:14

When the exception was thrown, this was the stack:
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49      throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 721:3   defaultNoSuchMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 61:12                 noSuchMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 716:31  noSuchMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 270:9   _checkAndCall
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 388:10  callMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 392:5   dsend
packages/flutter_application_1/screens/NotiTable.dart 78:10                                                                    <fn>
packages/flutter/src/widgets/async.dart 773:48                                                                                 build
packages/flutter/src/widgets/framework.dart 4612:27                                                                            build
packages/flutter/src/widgets/framework.dart 4495:15                                                                            performRebuild
packages/flutter/src/widgets/framework.dart 4667:11                                                                            performRebuild
packages/flutter/src/widgets/framework.dart 4189:5                                                                             rebuild
packages/flutter/src/widgets/framework.dart 2694:31                                                                            buildScope
packages/flutter/src/widgets/binding.dart 873:9                                                                                drawFrame
packages/flutter/src/rendering/binding.dart 319:5                                                                              [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1144:15                                                                            [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1082:9                                                                             handleDrawFrame
packages/flutter/src/scheduler/binding.dart 998:5                                                                              [_handleDrawFrame]
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 896:13                invoke
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 145:5                 invokeOnDrawFrame
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine.dart 259:45                                    <fn>

════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ WIDGETS库捕获到异常╞═══════════════════════════════════════════════════════════
生成FutureBuilder时引发了以下NoSuchMethodError(脏,状态:
_FutureBuilderState#6bf96):
“地图”
null的动态调用。
接收人:“销售”实例
参数:[实例'(动态)=>DataRow']
导致错误的相关小部件是:
未来建设者
file:///C:/Users/dhd20/Desktop/2022/op%20web/flutter_application_1/lib/screens/NotiTable.dart:29:14
引发异常时,这是堆栈:
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49 throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 721:3 defaultNoSuchMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 61:12 noSuchMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 716:31 noSuchMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 270:9_checkAndCall
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 388:10 callMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 392:5 dsend
包装/颤振应用程序/屏幕/不适用。dart 78:10
packages/flatter/src/widgets/async.dart 773:48构建
packages/flatter/src/widgets/framework.dart 4612:27构建
packages/flatter/src/widgets/framework.dart 4495:15性能构建
packages/flatter/src/widgets/framework.dart 4667:11性能构建
包/flatter/src/widgets/framework.dart 4189:5重建
packages/flatter/src/widgets/framework.dart 2694:31 buildScope
packages/flatter/src/widgets/binding.dart 873:9并条机
packages/flatter/src/rendering/binding.dart 319:5[\u handlePersistentFrameCallback]
packages/flatter/src/scheduler/binding.dart 1144:15[\u invokeFrameCallback]
包裹/flatter/src/scheduler/binding.dart 1082:9手绘框架
软件包/flatter/src/scheduler/binding.dart 998:5[_handleDrawFrame]
C:/b/s/w/ir/cache/builder/src/out/host_debug/flatter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 896:13调用
C:/b/s/w/ir/cache/builder/src/out/host_debug/flatter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 145:5调用绘图框架
C:/b/s/w/ir/cache/builder/src/out/host_debug/flatter_web_sdk/lib/_engine/engine.dart 259:45
═════════════════════════════════════════════════════════════════════════════════════════════?
 Widget build(BuildContext context) {
    return Container(
      child: FutureBuilder(
        future: get_table_info(),
        builder: (BuildContext context, AsyncSnapshot snapshot) {
          if (snapshot.data == null) {
            return Container(child: Center(child: CircularProgressIndicator()));
          } else {
            return SingleChildScrollView(
              scrollDirection: Axis.horizontal,
              child: SingleChildScrollView(
                child: DataTable(
                  columns: [
                    DataColumn(label: Text('ID'), tooltip: 'ID'),
                    DataColumn(label: Text('Type'), tooltip: 'Type'),
                  ],
                  rows: snapshot.data
                      .map((data) =>
                          // we return a DataRow every time
                          DataRow(
                              // List<DataCell> cells is required in every row
                              cells: [
                                DataCell(Text('HOW TO show id HER')),
                                DataCell(Text('HOW TO show TYPE HER')),
                              ]))
                      .toList(),
                ),
              ),
            );
          }
        },
      ),
    );
  }
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following NoSuchMethodError was thrown building FutureBuilder<dynamic>(dirty, state:
_FutureBuilderState<dynamic>#6bf96):
'map'
Dynamic call of null.
Receiver: Instance of 'Sale'
Arguments: [Instance of '(dynamic) => DataRow']

The relevant error-causing widget was:
  FutureBuilder<dynamic>
  file:///C:/Users/dhd20/Desktop/2022/op%20web/flutter_application_1/lib/screens/NotiTable.dart:29:14

When the exception was thrown, this was the stack:
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49      throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 721:3   defaultNoSuchMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 61:12                 noSuchMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 716:31  noSuchMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 270:9   _checkAndCall
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 388:10  callMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 392:5   dsend
packages/flutter_application_1/screens/NotiTable.dart 78:10                                                                    <fn>
packages/flutter/src/widgets/async.dart 773:48                                                                                 build
packages/flutter/src/widgets/framework.dart 4612:27                                                                            build
packages/flutter/src/widgets/framework.dart 4495:15                                                                            performRebuild
packages/flutter/src/widgets/framework.dart 4667:11                                                                            performRebuild
packages/flutter/src/widgets/framework.dart 4189:5                                                                             rebuild
packages/flutter/src/widgets/framework.dart 2694:31                                                                            buildScope
packages/flutter/src/widgets/binding.dart 873:9                                                                                drawFrame
packages/flutter/src/rendering/binding.dart 319:5                                                                              [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1144:15                                                                            [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1082:9                                                                             handleDrawFrame
packages/flutter/src/scheduler/binding.dart 998:5                                                                              [_handleDrawFrame]
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 896:13                invoke
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 145:5                 invokeOnDrawFrame
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine.dart 259:45                                    <fn>

════════════════════════════════════════════════════════════════════════════════════════════════════