<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)
));
},
...