致电时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] 删除。
我来说两句