type 'List<dynamic>' is not a subtype of type 'Map<String, List<dynamic>>'

Viewed 35

I am facing a problem with my code. I get the error :

type 'List' is not a subtype of type 'Map<String, List>'

here's how I tried

 Map<String, List> mySelectedEvents = {};

 loadPreviousEvents() async {
    var url = 'http://xxxxxxxx/getEvents.php';
    var res = await http.get(Uri.parse(url));
    var response = json.decode(res.body);

    mySelectedEvents = response
        .fold({}, (previousValue, element) {
          Map val = previousValue as Map;
          String date = element['date'];
          if (!val.containsKey(date)) {
            val[date] = [];
          }
          element.remove('date');
          val[date]?.add(element);
          return val;
        })
        .entries
        .map((e) => {e.key: e.value})
        .toList();
    print(mySelectedEvents);
    return mySelectedEvents;
  }

by running the function I would like to have a MAP like this

loadPreviousEvents() {
    mySelectedEvents = {
      "2022-09-13": [
        {"eventDescp": "11", "eventTitle": "111"},
        {"eventDescp": "22", "eventTitle": "22"}
      ],
      "2022-09-30": [
        {"eventDescp": "22", "eventTitle": "22"}
      ],
      "2022-09-20": [
        {"eventTitle": "ss", "eventDescp": "ss"}
      ]
    };
  }
0 Answers
Related