将项目添加到Dart / Flutter中嵌套地图内的列表中

用户名

致电时addItemToCart({"key": "val"}),我很难将项目添加到Dart / Flutter中嵌套地图内的列表中。var list = cart['items']给我一个空值,但我cart已经初始化了类成员

它到底有什么问题?

import 'package:flutter/material.dart';
import 'dart:collection';

class PData extends ChangeNotifier {
  dynamic cart = {"items": []};

  int itemCount = 0;
  String uid;
  String phoneNumber;

  void addItemToCart(val){
    var list = cart['items'];
    print("list ");
    print (list);

    list.add(val);
    notifyListeners();
  }

}

给出以下错误:

I/flutter ( 5763): list 
I/flutter ( 5763): null

════════ Exception caught by gesture ═══════════════════════════════════════════════════════════════
The following NoSuchMethodError was thrown while handling a gesture:
The method 'add' was called on null.
Receiver: null

尝试调用:add(_LinkedHashMap len:6)

苏吉

您需要添加.toList()进行初始化。请参阅下面的示例代码片段:

var list = cart['items'];
var realList = list.toList();
print("list ");
print (list);

realList.add("soap");
print(realList);  // This prints [soap]
realList.add("Pen");
print(realList); // This prints [soap, pen]

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章