我想在地圖中添加元素,該元素已經是另一個地圖中的鍵值。我需要在答案地圖中添加元素。
Map myMap = {
'name' : 'Tom',
'answers' : {
1 : 'correct',
2 : 'wrong'
}
}
我有一個元素串列,如果我的條件通過,則將該元素添加到答案映射中作為(元素:'正確'),如果它失敗則(元素:'錯誤')。
根據下面的代碼條件在地圖內添加元素絕對可以。
myMap.addIf(condition, element, 'correct')
myMap.addIf(!condition, element, 'wrong')
但是,如果我使用相同的邏輯在答案圖中添加元素,則會出現以下錯誤。
NoSuchMethodError (NoSuchMethodError: Class '_InternalLinkedHashMap<dynamic, dynamic>' has no instance method 'addIf'.
Receiver: _LinkedHashMap len:0
Tried calling: addIf(false, 1, "correct"))
作為替代解決方案,我在下面撰寫代碼,它作業正常。但是有沒有辦法在答案地圖中添加元素?
Map otherMap = {};
otherMap.addIf(condition, element, 'correct')
//assigning complete map as a value to answers key
myMap['answers'] = otherMap;
uj5u.com熱心網友回復:
您必須添加cast如下所示:
(myMap['answers'] as Map).addIf(condition, element, 'correct')
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/497901.html
