Flutter web:从 Firestore 地图检索的值在添加到列表时被截断

Flutter web: Values retrieved from Firestore map are truncated when added to List

在我的 Flutter Web 应用程序中,我正在从 Firestore 中的地图 timeslots 中检索值。
这是数据的样子:

但是,我没有检索整个值列表,而是得到了一个截断的列表,如下所示:

[Mo-Washing-(09:00-10:00, 10:00-11:00, 11:00-12:00, ..., 20:00-21:00, 21:00-22:00)]

下面我包含了负责检索数据并将其添加到列表中的 2 个函数 object

static List object = [];
static Map<String, dynamic> timeDetails = {};
static Map<String, dynamic> userDetails = {};

  checkExists(docuID) async {
    return await firestore()
        .collection('environments')
        .doc(docuID)
        .get()
        .then((val) {
      userDetails.addAll(val.data());
    }).whenComplete(() async {
        fs.DocumentSnapshot snapShot = await firestore()
            .collection('environments')
            .doc(docuID)
            .collection('Washing')
            .doc('monday')
            .get();
        if (snapShot == null || !snapShot.exists) {
          print('does not exist');
        } else {
          await getData(docuID, 'Washing');
        }
      setState(() {});
    });
  }

   getData(docuID, machineName) async {
    return await firestore()
        .collection('environments')
        .doc(docuID)
        .collection(machineName)
        .doc('monday')
        .get()
        .then((val) {
      timeDetails.addAll(val.data());
    }).whenComplete(() {
      object.add('Mo-$machineName-${timeDetails['timeslots'].values}');
      print(object);
      setState(() {});
    });
  }

这也发生在 debugPrint。有谁知道为什么会这样以及我该如何解决?如有任何帮助,我们将不胜感激!

Github 中提到的 workarounddebugPrint 都不适合我,但我设法通过将 .toList() 添加到我的 getData 函数来解决这个问题:

   getData(docuID, machineName) async {
    return await firestore()
        .collection('environments')
        .doc(docuID)
        .collection(machineName)
        .doc('monday')
        .get()
        .then((val) {
      timeDetails.addAll(val.data());
    }).whenComplete(() {
      //toList() is added here to .add
      object.add('Mo-$machineName-${timeDetails['timeslots'].values.toList()}');
      print(object);
      setState(() {});
    });
  }

输出:

[Mo-Washing-[09:00-10:00, 10:00-11:00, 11:00-12:00, 12:00-13:00, 13:00-14:00, 14:00-15:00, 15:00-16:00, 16:00-17:00, 17:00-18:00, 18:00-19:00, 19:00-20:00, 20:00-21:00, 21:00-22:00]