• Как сделать доп фильтр?

    0xD34F
    @0xD34F Куратор тега Vue.js
    <option v-for="item in info">
      {{ item.fieldTypes.geo }}
    </option>

    Это неправильно. Если значения в fieldTypes.geo не уникальны, option'ы тоже будут повторяться. Зачем это? Не надо. Делаем вычисляемое свойство, представляющее уникальные значение, и используем при создании option'ов его:

    computed: {
      uniqueGeo() {
        return [...new Set(this.info.map(n => n.fieldTypes.geo))];
      },
      ...

    <option v-for="n in uniqueGeo">{{ n }}</option>

    В вычисляемом свойстве, которое представляет отфильтрованные данные, добавляем проверку второго значения, переписываем его следующим образом:

    computed: {
      filteredOffers() {
        const vacancy = this.searchVacancyName.toUpperCase();
        const geo = this.searchGeo;
    
        return this.info.filter(n => (
          (!vacancy || n.fieldTypes.vacancyName.toUpperCase().includes(vacancy)) &&
          (!geo || n.fieldTypes.geo === geo)
        ));
      },
      ...
    Ответ написан
    1 комментарий