簡體   English   中英

如何更新列表中特定數據的特定變量<map<string,dynamic> &gt; 在 firebase 中使用 flutter? </map<string,dynamic>

[英]How to update particular variable of particular data in List<Map<String,dynamic>> in firebase using flutter?

我里面有客戶集合我有商家數據列表,例如

{
  'customer':'xyz',
  'contactNumber':'999999999',
  'merchantMap':[
       {
        'merchantName':'abx',
        'merchantId':'dsdfsbdmmm'
       },
       {'merchantName':'abx',
        'merchantId':'dsdfsbdmmm'
       }
  ]
}

在 merchantMap 中,我想通過檢查他的 merchantId 來更新他的名字。 我怎樣才能做到這一點?

讓我們假設您的客戶數據是這樣的:

var customerData = {
    'customer': 'xyz',
    'contactNumber': '999999999',
    'merchantMap': [
      {'merchantName': 'abx', 'merchantId': '12'},
      {'merchantName': 'abx', 'merchantId': '23'}
    ]
  };

你的具體ID是這樣的:

String selectedId = "23";

您可以這樣做來更改包含該 ID 的項目:

var newMerchantMap =
    (customerData["merchantMap"] as List<Map<String, dynamic>>)
        .map((e) => e['merchantId'] == selectedId
            ? {'merchantName': 'newNAme', 'merchantId': e["merchantId"]}
            : e)
        .toList();

customerData['merchantMap'] = newMerchantMap;

結果:

{
   customer: xyz,
   contactNumber: 999999999, 
   merchantMap: [
       {merchantName: abx, merchantId: 12},
       {merchantName: newNAme, merchantId: 23}
   ]
 }

暫無
暫無

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM