@YakovSpb

Как в Vue отсортировывать массив по алфавиту определенного свойства, если определенный checkbox true?

<div v-else class="app-content">
				<div class="items">
					<div 
					v-for="(dog, idx) in allDogs" 
					:key="idx"
					class="card"
					>
					<img :src="dog.url" alt="alt">
					<div class="card__name">{{dog.breeds[0].name}}</div>
				</div>
			</div>

		</div>
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Сделайте вычисляемое свойство, которое в зависимости от состояния чекбокса будет представлять массив в дефолтном порядке или алфавитном:

<input type="checkbox" v-model="sort">
<div v-for="dog in sortedDogs">

data: () => ({
  sort: false,
}),
computed: {
  sortedDogs() {
    return this.sort
      ? [...this.allDogs].sort((a, b) => a.breeds[0].name.localeCompare(b.breeds[0].name))
      : this.allDogs;
  },
},
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы