Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Listar (v-for) por ordem alfabética, descrição, titulo e etc.

Fala professor, tudo bem? No meu v-for quando listo os registros da api no home.vue, eles vem em ordem aleatoria, como eu consigo deixar em alfabetica e etc?

3 respostas

Tem duas maneiras. Uma é sua API já dar a fotos em ordem, a outra é você ordenar a lista programaticamente.

Você já chegou na parte que filtra a lista? Se não chegou, espere chegar nessa parte. Se chegou, vem a orientação.

Na computed property que vai alimentar a sua lista, você precisa ordená-la antes de devolvê-la usando o método sort que todo array possui.

Então, em que parte você esta, meu aluno?

solução!

Exemplo de como ordenar um array em JavaScript:

let fotos = [{ titulo: 'Zebra'}, {titulo: 'Arara'}];

fotos = fotos.sort((a, b) => {

  if (a.titulo < b.titulo) return -1;
  if (a.titulo > b.titulo) return 1;
  return 0;
});

console.log(fotos);

Em JavaScript, se você retornar 0 no seu algoritmo, eles são iguais. Se retornar -1, o primeiro elemento é menor que o segundo e se retornar 1 o primeiro elemento é maior que o segundo.

Se quiser saber mais diretamente da API do JavaScript pode consultar.

https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

Abraço meu aluno.

Show professor, preciso fazer seu curso de ES5/6 pra ontem.