Как реализовать поиск по массиву с последующем добавлением класса соответствующим объектам?

Для реализации поиска по массиву и добавления класса соответствующим объектам в Vue.js вы можете использовать вычисляемое свойство и директиву v-bind:class.

Первым шагом я рекомендую создать компонент, который будет отображать список объектов с возможностью поиска. В данном компоненте устанавливаем массив объектов в data и добавляем 2 свойства: searchString и filteredItems.

<template>
  <div>
    <input type="text" v-model="searchString" placeholder="Поиск" />
    <ul>
      <li v-for="item in filteredItems" v-bind:class="{ 'highlight': item.highlighted }">
        {{ item.name }}
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      searchString: '',
      items: [
        { name: 'Объект 1', highlighted: false },
        { name: 'Объект 2', highlighted: false },
        { name: 'Объект 3', highlighted: false },
        // ...
      ]
    }
  },
  computed: {
    filteredItems() {
      return this.items.filter(item => {
        return item.name.toLowerCase().includes(this.searchString.toLowerCase());
      });
    }
  }
};
</script>

<style>
.highlight {
  background-color: yellow;
}
</style>

В этом коде мы добавили поле ввода для поиска (searchString) и определили список объектов (items). Далее, мы использовали v-for для отображения каждого объекта списка и директиву v-bind:class для добавления класса "highlight" соответствующим элементам, у которых свойство highlighted равно true.

В computed свойстве filteredItems мы фильтруем массив объектов, сравнивая каждое имя объекта с searchString. Если имя включает строку поиска (без учета регистра), то объект попадает в отфильтрованный массив.

В итоге, при каждом изменении строки поиска, свойство filteredItems будет пересчитываться и список объектов будет обновляться, а класс "highlight" будет добавляться к соответствующим элементам списка.

Вы можете настроить стили для класса "highlight" в секции style, чтобы подсветить найденные объекты.