<div v-for="(item, index) in gr" :key="space.id" class="val-name"> </div>He hecho esa lógica usando los siguientes cambios de línea en la llamada a la API, como
con eso, lo que estoy tratando de lograr finalmente lo conseguí. Pero el problema es que no puedo esperar que el valor de la matriz sea el mismo todo el tiempo. Así que he decidido reorganizar los valores de la matriz en función de la ID.
orderMap sería su resultado de índice deseado.
array sería su respuesta API.
map orderMap con una función que encuentra el índice deseado y lo coloca en nuestra matriz sorted .
const orderMap = ['third', 'second', 'first']; const array = [{name: 'first'}, {name: 'second'}, {name: 'third'}]; let sorted = orderMap.map(function(sortBy){ return this.find(function(toSort){return toSort.name === sortBy}) }, array) console.log(sorted); // as method -> Result is your response Data. OrderMap the map to order by. sortResultSet(result, orderMap) { return orderMap.map(function(sortBy){ return this.find(function(toSort){return toSort.name === sortBy}) }, result) }Puede escribir una función de clasificación personalizada para que los clasifique según sus necesidades. Por ejemplo:
function Sort(item1, item2){ if (item1.name > item2.name) return 1; else if (item1.name < item2.name) return -1; else return 0; }Y luego llamarlo en la matriz
array.sort(Sort); console.log(array);Si lo desea, puede omitir la declaración de la función y simplemente pasar la función como parámetro.
array.sort(function (item1, item2) { <same code from above> });Y luego simplemente agréguelo al objeto deseado de Vue