简体   繁体   English

如何在 Flutter 中显示从上一屏幕接收到的 json 数据

[英]How to display received json data from previous screen in Flutter

I want to display the JSON data inside ListView.builder received from the previous screen.我想在ListView.builder中显示从上一屏幕收到的 JSON 数据。 Below is the sample code till now that I have tried.以下是到目前为止我已经尝试过的示例代码。

FirstPage.dart第一页.dart

Navigator.push(
              context,
              CupertinoPageRoute(
                  builder: (context) => MyOrderDetails(
                        storeItems: order.inDetail!.menuItems!
                      )));

This is the sample json i am passing to Next Screen这是我传递给下一个屏幕的样本 json

{
                        "item_name": "Test",
                        "quantity": 1,
                        "subtotal": "434.78"
                    }
                

MyOrderDetail.dart我的订单详情.dart

class MyOrderDetails extends StatefulWidget {
  final List storeItems;
  const MyOrderDetails(
      {Key? key,
      required this.storeItems})
      : super(key: key);

  @override
  State<MyOrderDetails> createState() => _MyOrderDetailsState();
}

class _MyOrderDetailsState extends State<MyOrderDetails> {
  @override
  Widget build(BuildContext context) {
    var height = MediaQuery.of(context).size.height;
    var width = MediaQuery.of(context).size.width;
    var lang = translator.activeLanguageCode;
    return Scaffold(
      appBar: AppBar(
        elevation: 0,
      ),
      body: ListView(
        children: [
          ListView.builder(
              shrinkWrap: true,
              scrollDirection: Axis.vertical,
              itemCount: widget.storeItems.length,
              itemBuilder: (BuildContext context, int index) {
                return Text(widget.storeItems[index]['item_name']); // Getting error here
              }),
        ],
      ),
    );
  }
}

Your variable should be like that.你的变量应该是这样的。 List is not enough by itself you should declare which class is for that list.列表本身是不够的,您应该声明哪个 class 用于该列表。

final List<YourDataClass> storeItems;
  const MyOrderDetails(
      {Key? key,
      required this.storeItems})
      : super(key: key);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Flutter 如何从刷新数据的上一屏获取数据 - Flutter how to get data from the previous screen in which the data is refreshed 如何在Flutter上从上一屏幕接收的值上将初始值设置为TextFormField? - How to set Initial value to a TextFormField on value received from previous screen in Flutter? 在屏幕上颤抖地显示来自服务器的JSON消息 - Display JSON message from server on the screen in flutter 如何在 flutter 中播放上一个屏幕的音频? - how to play audio from previous screen in flutter? Flutter:显示来自 json 的数据 - Flutter : display data from json 从 Laravel API 服务器接收的数据未显示在 Flutter 屏幕上 - Data Received from Laravel API Server Not Shown on Flutter Screen 如何将从我的条码扫描器接收到的扫描结果数据解析到 flutter 中的新屏幕或页面 - How can I parse the scanned result data received from my barcode scanner to a new screen or page in flutter 如何将从 json 获取的多个数据传递到颤振中的下一个屏幕? - How to pass multiple data fetched from json to next screen in flutter? 如何将 JSON 数据从 gridview 传递到 flutter 中的另一个屏幕 - How to pass JSON data to another screen in flutter from a gridview Flutter:如何根据Array的相同值显示来自2 JSON的数据 - Flutter: How to display data from 2 JSON based on the same value of Array
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM