Просмотр отсортированных данных Json в таблице Flutter
[
{
"1": {
"name": "Shahed Emon",
"win_rate": "98.7%"
}
},
{
"2": {
"name": "Mustakim Nahid",
"win_rate": "88.7%"
}
},
{
"3": {
"name": "Imtiaz Rizan",
"win_rate": "72.3%"
}
},
{
"4": {
"name": "Ishtiak Rongon",
"win_rate": "52.6%"
}
}
]
У меня есть данные json. Который я отсортировал по win_rate, используя это -
final data = json.decode(jsonData);
data.sort((a, b) =>
a.values.first["win_rate"].compareTo(b.values.first["win_rate"]));
теперь я хочу построить таблицу во флаттере, которая соответствует наивысшему "win_rate" с наименьшим "win_rate". Как к этому подойти? Я пробовал это, но в итоге получаю ошибки / нет данных.
1 ответ
Решение
Просто возьмите перевернутый элемент из ваших данных и поместите его перед текущим элементом:
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
color: Colors.yellow,
child: Table(
border: TableBorder(horizontalInside: BorderSide(width: 1)),
children: _sortedData.map(
(item) {
final reverseItem = _sortedData[
_sortedData.length - _sortedData.indexOf(item) - 1];
return TableRow(
children: [
TableCell(
child: Text(item.values.first['name']),
),
TableCell(
child: Text(reverseItem.values.first['name']),
)
],
);
},
).toList(),
),
),
);
}
Также вы можете зациклить отсортированные данные и создать соответствующий массив из функции сборки.