Я хочу создать конструктор предложений, в котором я хочу отображать поисковые предложения по изменению текста в TextField. Я хочу выполнить поиск на основе метода contains
, но хочу отсортировать этот конкретный список на основе startsWith
. Если я использую только startsWith
, он игнорирует все остальные contains
. Как я могу применить оба варианта одновременно? У меня есть список,
List<String> list = ["apple", "orange", "aaaaorange", "bbbborange","cccccorange"]
Теперь, если я поставлю только ora
в поиске, он вернет меня в следующем порядке:
aaaaorange
bbbborange
cccccorange
orange
Что я хочу.
orange
aaaaorange
bbbborange
cccccorange
Код:
return list
.where((item) {
return item.toLowerCase().contains(query.toLowerCase());
}).toList(growable: false)
..sort((a, b) {
return a.toLowerCase().compareTo(b.toLowerCase());
});