簡體   English   中英

輸入'列表<map<string, dynamic> &gt;' 不是 'Map 類型的子類型<dynamic, dynamic> ' </dynamic,></map<string,>

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

我正在嘗試將 from List 設置為 Map 我收到此錯誤。

我從 Firestore 獲取數據,您可以在下面看到查詢和 output。

  List<Map<String, dynamic>> transactionData = [];
  List accountList = [];
  List availableAccount = [];

getData() async{
    final dataDB = await FirebaseFirestore.instance.collection('TransactionData').doc(getUid()).get();
    snapshot = dataDB;
    final Map<String, dynamic> documentData = snapshot.data() as Map<String, dynamic>;

    documentData.forEach((key, value) {
      availableAccount.add(key);
    });

    for(int j=0;j<availableAccount.length;j++){
      transactionData = (documentData[availableAccount[j]] as List).map((accountList) => accountList as Map<String, dynamic>).toList();
      accountList.add(transactionData);
    }
    _cards = accountList;
    print('Cards: $_cards');
    setState(() {
      _data = _cards![0];
    });
  }
Cards: [[{categoryName: Education, uid: LNM6JQuoKCPIANTyQHMKWLIzl5m1, amount: 3,000.00, lastUpdatedDate: 25-08-2022, createdDate: 25-08-2022, toAccountId: , type: Credit, transfer: N, accountId: 21Aug5298Sav, auto: Y, accountName: null, transactionId: deb1621, categoryLogo: assets/images/Education.png, untagged: N, categoryBackgroundColor: 0xffFFA2C0, currency: INR, transactionDate: 25-08-2022}, {categoryName: Education, uid: LNM6JQuoKCPIANTyQHMKWLIzl5m1, amount: 300.00, lastUpdatedDate: 25-08-2022, createdDate: 25-08-2022, toAccountId: , type: Debit, transfer: N, accountId: 21Aug5298Sav, auto: Y, accountName: null, transactionId: deb5366, categoryLogo: assets/images/Education.png, untagged: N, categoryBackgroundColor: 0xffFFA2C0, currency: INR, transactionDate: 25-08-2022}, {categoryName: Travelling, uid: LNM6JQuoKCPIANTyQHMKWLIzl5m1, amount: 100.00, lastUpdatedDate: 24-08-2022, createdDate: 24-08-2022, toAccountId: , type: , transfer: N, accountId: 21Aug5298Sav, auto: Y, accountName:<…>

有人可以幫我解決這個問題,當我將“_cards.[0]”設置為“_data”時出現錯誤。

截屏

您希望_cardsList<Map<String, dynamic>>但事實並非如此。 這是一個List<List<Map<String, dynamic>>>並嘗試將它的第一個項目List<Map<String, dynamic>>傳遞給Map<String, dynamic>的_data,這是一個問題。 如果你想將任何值從 _cards 傳遞給 _data 應該是這樣的:

_data = _cards![0][0];

如果要將List<List<Map<String, dynamic>>>轉換為List<Map<String, dynamic>> ,請執行以下操作:

List<String> newCards = [];
          
for (var item in _cards) {
  newCards = [...newCards, ...item];
}

接着:

_data = newCards[0]; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 錯誤:鍵入 '() => Map<string, dynamic> ?' 不是類型“Map”的子類型<string, dynamic> ?'</string,></string,> 下拉搜索 flutter 輸入“列表”<dynamic> ' 不是 'Map 類型的子類型<string, dynamic> ' 在類型轉換中</string,></dynamic> 撲動:輸入'_InternalLinkedHashMap<object?, object?> ' 不是 'Map 類型的子類型<string, dynamic> '</string,></object?,> 如何修復以下錯誤:鍵入“列表<dynamic> ' 不是 'Map 類型的子類型<dynamic, dynamic> '?</dynamic,></dynamic> Flutter/Firestore 返回類型列表<review>不是類型“Map”的子類型<string, dynamic> ' 從 Stream 檢索快照時</string,></review> 例外:“字符串”類型不是“地圖”類型的子類型<dynamic, dynamic> ' 在 flutter 的類型中</dynamic,> 輸入“列表<dynamic> ' 不是類型 'String' 的子類型</dynamic> InternalLinkedHashMap<string, dynamic> ' 不是 'DocumentSnapshot 類型的子類型<map<string, dynamic> >' 在類型轉換中:Firestore </map<string,></string,> Flutter 實時數據庫 9.0.6 列表<object?> ' 不是 'Map 類型的子類型<dynamic, dynamic> '</dynamic,></object?> Flutter StreamBuilder小部件錯誤:類型'()=&gt; Map<string, dynamic> ' 不是類型 'DocumentSnapshot 的子類型<object?> ' 在類型轉換中</object?></string,>
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM