【发布时间】:2021-10-27 09:26:39
【问题描述】:
我想显示一个名为 listaBaresFiltrada 的列表,按多个值排序。
事件模型:
import 'package:flutter/material.dart';
class Evento {
final String eventoId;
final String fechaEvento;
final String tituloEvento;
final String evento;
final bool es_privado;
final bool es_publico;
final String num_invitados;
final String ubicacionEvento;
final String latitudEvento;
final String longitudEvento;
final String descripcionEvento;
final String imagenEvento;
final String autorEvento;
final String fotoPerfilAutor;
final String interes;
double distancia;
bool menosde30km;
bool espasado;
首先我想对以下值进行排序:
-
fechaEvento(日期时间升序)
-
menosde30km (bool true)
-
距离(双倍)
现在我可以设置 firsto 排序条件,如下所示:
//sorting the list
listaBaresFiltrada.sort((a,b) =>
DateFormat('d-M-yyyy HH:mm', 'de_DE').parse(a.fechaEvento).compareTo(
DateFormat('d-M-yyyy HH:mm', 'de_DE').parse(b.fechaEvento)));
但我不知道如何同时包含其他两个排序条件。
【问题讨论】:
-
具体来说,请参阅链接问题上的my answer,该问题讨论了对多个属性进行排序和子排序以及使用稳定排序。