Привет.
Сделал поиск с помощью computed()
Не пойму как быть когда ничего не найдено?
Сейчас когда находится:
Сейчас когда ничего не находится:
<script setup lang='ts'>
import { ref, computed } from 'vue'
import { useAxios } from '@vueuse/integrations/useAxios'
import InputText from 'primevue/inputtext'
import Image from 'primevue/image'
const {
data,
isLoading,
isFinished,
error
} = useAxios('https://fakestoreapi.com/products')
const searchQuery = ref('')
const filteredProducts = computed(() => {
if (!searchQuery.value.length) {
return
}
if (searchQuery.value.length > 2) {
return data.value.filter((product: any) => product.title.toLowerCase().includes(searchQuery.value.toLowerCase()))
}
})
console.log(filteredProducts)
</script>
<template>
<div class="search">
<InputText v-model="searchQuery" placeholder="search" fluid />
<ul v-if="filteredProducts" class="search-result">
<li v-for="product in filteredProducts">
<div>
<Image :src="product.image" :alt="product.title" width="40" height="40" />
</div>
<h3>{{ product.title }}</h3>
<div>
<p>{{ product.price }}</p>
</div>
</li>
</ul>
</div>
</template>