我想用一個按鈕字串過濾一個串列,我有一個這樣的內容串列,
var aktifliste = [];
List<Dersler> icerik2 = [
Dersler("TYT", "Türkce-TYT", "S?zückte Anlam", "https://youtube.de"),
Dersler("TYT", "Matematik-TYT", "Sayilar", "https://google.de"),
Dersler("TYT", "Fizik-TYT", "Madde", "https://kkspro.de"),
];
List 中的類是,
class Dersler {
String sinav;
String ders;
String konu;
String link;
Dersler(this.sinav, this.ders, this.konu, this.link);
Map toJson() => {
'sinav': sinav,
'ders': ders,
'konu': konu,
'link': link,
};
}
過濾串列并插入另一個串列的功能是,
void filtre(String gelen) {
aktifliste = icerik2.where((element) => element == gelen).toList();
update();
}
如果我單擊啟動過濾功能并發送“gelen”字串的按鈕。并且 aktifliste 將插入一個過濾物件,但我想用一個 Option 過濾它,例如如果我發送 TYT 那么它將用 sinav Option 過濾。
ElevatedButton(
onPressed: () {
controller.filtre("TYT"),
}, child: Text(controller.icerik2[index].ders));
如果我發送字串“Sayilar”,它將搜索所有串列并僅找到一個視頻。
ElevatedButton(
onPressed: () {
controller.filtre("TYT"),
}, child: Text(controller.icerik2[index].ders));
有人對過濾或搜索串列中的物件有任何想法嗎?它不適用于 where 函式。不回傳任何物件?
謝謝 !
uj5u.com熱心網友回復:
看看這是否對你有幫助。
目的:
class Dersler {
String sinav;
String ders;
String konu;
String link;
Dersler(this.sinav, this.ders, this.konu, this.link);
Map toJson() => {
'sinav': sinav,
'ders': ders,
'konu': konu,
'link': link,
};
bool compareTo(String filter){
if(sinav == filter) return true;
if(ders.contains(filter)) return true;
if(konu.contains(filter)) return true;
return false;
}
}
功能過濾器
filter(String gelen) async {
var aktifliste = icerik2.where((element) => element.compareTo(gelen)).toList();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/372090.html
