[英]How to modify a item from List of Maps in Flutter | Dart
我有 Map 項的列表。 由此我想通過使用它的 id 來修改項目的鍵值。 以下是map的名單。
List items = [{'id':'01','name':'Rahul'},{'id':'02','name':'John'},{'id':'03','name':'Marry'}];
從這個列表中,當我按下一個按鈕時,我想根據 id 更新該項目的名稱。
例如,
void editName(String id,String name){
//Here i want to edit the name based on that id
}
如果我通過editName('02','Rose')
我想要結果
[{'id':'01','name':'Rahul'},{'id':'02','name':'Rose'},{'id':'03','name':'Marry'}];
void main() {
List<Map<String, String>> items = [
{'id': '01', 'name': 'Rahul'},
{'id': '02', 'name': 'John'},
{'id': '03', 'name': 'Marry'}
];
void editName(String id, String name) {
for (var item in items) {
if (id == item['id']) {
item['name'] = name;
}
}
}
editName('02', 'Rose');
print('items: $items');
}
我找到了解決方案:)
void main() {
List items = [{'id':'01','name':'Rahul'},{'id':'02','name':'John'},{'id':'03','name':'Marry'}];
var result = items.firstWhere((element) => element['id'] == '02');
print(result);
var index = items.indexWhere((element) => element['id'] == '02');
print(index);
result['name'] = 'Rose';
print(result);
items.removeAt(index);
items.insert(index, result);
print(items);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.