【问题标题】:How to display received json data from previous screen in Flutter如何在 Flutter 中显示从上一屏幕接收到的 json 数据
【发布时间】:2022-11-18 03:03:29
【问题描述】:

我想显示从上一屏幕收到的 ListView.builder 中的 JSON 数据。以下是到目前为止我已经尝试过的示例代码。

第一页.dart

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

这是我传递给下一个屏幕的示例 json

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

我的订单详情.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
              }),
        ],
      ),
    );
  }
}

【问题讨论】:

  • 你的代码看起来没问题。问题是什么?
  • 它显示错误类“MyOrdersHistoryInDetailMenuItems”没有实例方法“[]”。接收者:'MyOrdersHistoryInDetailMenuItems' 的实例尝试调用:[]("item_name")

标签: flutter dart


【解决方案1】:

你的变量应该是这样的。列表本身是不够的,您应该声明哪个类适用于该列表。

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

【讨论】:

    猜你喜欢
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    • 2017-11-12
    • 2021-11-08
    • 1970-01-01
    • 2019-01-25
    相关资源
    最近更新 更多