@Sashjkeee
f-e

Отфильтровать массив?

<ui_graph_search :values="getStatus" @select="changeArray('status_id', 'where', $event)" :multiple="true">Статус</ui_graph_search>
<ui_chip removeByCallback v-for="selected in filterArray.status_id" @delete="removeFromWhereIn('status_id', 'where', $event)" :item="selected">{{ selected.name }}</ui_chip>


changeArray(name, subname, value) {
      this.filterArray[name].push(value)
}

Не могу понять как написать условие, чтобы push(value) не отрабатывала, если второй раз попадает один и тот же объект?

Есть два статуса:
1) активен
2) не активен

Когда пользователь кликает по "активен" в this.filterArray[name] записывается объект с ID = 1, а потом по "Не активен" ID = 2 получается массив из объектов. Если дважды кликнуть по "Активен" выведет дважды этот объект, как это исправить?
  • Вопрос задан
  • 274 просмотра
Решения вопроса 2
Negwereth
@Negwereth
lvivcss.com.ua
Используй Map для хранения данных по ключам.
Ответ написан
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Может просто что-то типа, если правильно понял:
changeArray(name, subname, value) {
      if(this.filterArray[name].some(item => item === value)) return
      this.filterArray[name].push(value)
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы