簡體   English   中英

如何轉換列表<Object>撲

[英]How to convert List<Object> flutter

我是顫振的新手,需要幫助:

我已經有了

final List<Genres> genres = [{1,"comedy"}, {2,"drama"},{3,"horror"}]

來自 api

class Genres {

  final int id;
  final String value;

  Genres({this.id,this.value});
}

在另一種方法中,我得到了流派.id.(2) 如何將其轉換為流派.值(“戲劇”)?

當您的數據結構是List時,從id獲取Genre方便。 您別無選擇,只能遍歷列表並將id值與列表中每個元素的id進行比較:

final id = 2;
final genre = genres.firstWhere((g) => g.id == id, orElse: () => null);

這段代碼的問題在於它很慢並且可能有多個匹配項(第一次找到后的重復項將被忽略)。

更好的方法是在您第一次創建列表時將其轉換為Map 之后,您可以簡單地使用索引器快速安全地獲取 ID 的Genre

final genresMap = Map.fromIterable(genres, (item) => item.id, (item) => item);

// later...

final id = 2;
final genre = genresMap[id];

這樣,可以保證沒有任何重復,如果 ID 不存在,那么索引器將簡單地返回 null。

您可以遍歷 api 的 json 結果並將它們映射到 Gener 類,如下所示,

void fn(id) {
  final gener = geners.firstWhere((gener) => gener['id'] == id);

  // now you have access to your gener
}

您可以像這樣在List<Genres>找到該項目

Genres element = list.firstWhere((element) => element.id == 2); // 2 being the id you give in the question as an exaple. You should make it dynamic
print(element.value);

如何轉換列表<dynamic>列出<object>在 Flutter<div id="text_translate"><p> 我制作了兩個列表 List &lt;Animal&gt; _animals 和 List &lt;Animal&gt; _selectedanimals</p><pre> static List&lt;Animal&gt; _animals = [ Animal( name: "Tiger"), Animal(name: "Lion"), Animal( name: "Panda"), Animal( name: "Anaconda"),]; List&lt;Animal&gt; _selectedAnimals2 = [];</pre><p> 然后我制作了一個多選表,用戶可以在其中 select 他最喜歡的動物,並在用戶確認/或選擇時將所選值存儲在名為 values 的動態列表中,從 List&lt;dynamic&gt; values 將其存儲到另一個列表 List&lt; Animal&gt; _selectedAnimals2 但我收到一個錯誤,如下所述:</p><p> <strong>'List&lt;dynamic&gt;' 類型不是 'List&lt;Animal&gt;' 類型的子類型</strong></p><pre>MultiSelectBottomSheetField( initialChildSize: 0.4, listType: MultiSelectListType.CHIP, searchable: true, buttonText: Text("Favorite Animals",style: GoogleFonts.montserrat(color: Colors.white),), title: Text("Animals"), items: _items, onConfirm: (values) { _selectedAnimals2=values; final List&lt;String&gt; choose=_selectedAnimals2.map((Animal animal) =&gt; animal.name).toList(); saveUserInfoToFireStore(choose); },</pre></div></object></dynamic>

[英]How to convert List<dynamic> to List<Object> in Flutter

Flutter如何轉換List<object> 用於使用 ObjectBox<div id="text_translate"><p> 我有一個 model 這樣的代碼</p><pre>class Folder { int id; String title; Color? color; List<Note> notes; final user = ToOne<User>(); String? get dbNotes => json.encode(notes); set dbNotes(String? value) { notes = json.decode(value;). } //... }</pre><p> 我有這個錯誤</p><pre>Cannot use the default constructor of 'Folder': don't know how to initialize param notes - no such property.</pre><p> 如何將我的 List<Object> 轉換為存儲在 ObjectBox 中?</p></div></object>

[英]Flutter how to convert List<Object> for using ObjectBox

暫無
暫無

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

相關問題 如何轉換列表<dynamic>列出<object>在 Flutter<div id="text_translate"><p> 我制作了兩個列表 List &lt;Animal&gt; _animals 和 List &lt;Animal&gt; _selectedanimals</p><pre> static List&lt;Animal&gt; _animals = [ Animal( name: "Tiger"), Animal(name: "Lion"), Animal( name: "Panda"), Animal( name: "Anaconda"),]; List&lt;Animal&gt; _selectedAnimals2 = [];</pre><p> 然后我制作了一個多選表,用戶可以在其中 select 他最喜歡的動物,並在用戶確認/或選擇時將所選值存儲在名為 values 的動態列表中,從 List&lt;dynamic&gt; values 將其存儲到另一個列表 List&lt; Animal&gt; _selectedAnimals2 但我收到一個錯誤,如下所述:</p><p> <strong>'List&lt;dynamic&gt;' 類型不是 'List&lt;Animal&gt;' 類型的子類型</strong></p><pre>MultiSelectBottomSheetField( initialChildSize: 0.4, listType: MultiSelectListType.CHIP, searchable: true, buttonText: Text("Favorite Animals",style: GoogleFonts.montserrat(color: Colors.white),), title: Text("Animals"), items: _items, onConfirm: (values) { _selectedAnimals2=values; final List&lt;String&gt; choose=_selectedAnimals2.map((Animal animal) =&gt; animal.name).toList(); saveUserInfoToFireStore(choose); },</pre></div></object></dynamic> 如何轉換列表<String>列出<Object>撲騰 Flutter如何轉換List<object> 用於使用 ObjectBox<div id="text_translate"><p> 我有一個 model 這樣的代碼</p><pre>class Folder { int id; String title; Color? color; List<Note> notes; final user = ToOne<User>(); String? get dbNotes => json.encode(notes); set dbNotes(String? value) { notes = json.decode(value;). } //... }</pre><p> 我有這個錯誤</p><pre>Cannot use the default constructor of 'Folder': don't know how to initialize param notes - no such property.</pre><p> 如何將我的 List<Object> 轉換為存儲在 ObjectBox 中?</p></div></object> 如何將數據從json轉換為List<Object> 在顫振中 如何將此json轉換為Flutter對象 Flutter:Object如何轉換? 至 Map Flutter 轉換 JSON stream 列表為 Map object Flutter:如何將列表轉換為JSON 顫動如何轉換地圖中的列表 如何將 Flutter 中的列表轉換為字符串?
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM