Флаттер не сортируется по двойному списку

#flutter #dart

Вопрос:

У меня есть список, мне просто нужно отсортировать его по номеру.

Список выглядит так

 I/flutter ( 9048): [{take: 0, give: 20.0, sellerUID: eOYiEjGR2ZGAQAyKV8Ht},{take: 0, give: 40.0, sellerUID: eOYiEjGR2ZGAQAyKV8Ht},{take: 0, give: 10.0, sellerUID: eOYiEjGR2ZGAQAyKV8Ht}]
 

Я хочу отсортировать это, то, какое число больше, будет сверху, а затем второе, большее, как это.

Я делаю вот так

 snapshot.data.sort((a, b) => a['give'].compareTo(b['give']));
 

но это показывает эту ошибку

 type '(dynamic, dynamic) => dynamic' is not a subtype of type '((Object, Object) => int)?' of 'compare'
 

Комментарии:

1. Укажите тип (a as Map)['give'].compareTo((b as Map)['give'])

2. @Mardel пытался, но не получилось

3. Вы можете конвертировать snapshot.data в List<Map> и затем sort .

4. Укажите тип данных, которые вы получаете, прежде чем выполнять сортировку. Потому dynamic что и object они разные.