¿Cómo puede mostrar un "no se encontró ningún resultado" después de filtrar?
const searchItems = (searchValue) => { setSearchInput(searchValue) if (searchInput !== '') { const filteredData = APIData.filter((post) => { return Object.values(post).join('').toLowerCase().includes(searchInput.toLowerCase()) }) setFilteredResults(filteredData) } else{ setFilteredResults(APIData) } }¡Devolví los datos filtrados pero no sabía cómo devolver un "no se encontró ningún resultado" si el usuario escribe datos incorrectos!
Esta es la entrada de texto
<OutlinedInput className="SearchInput" placeholder='Search...' onChange={(e) => searchItems(e.target.value)} endAdornment={ <InputAdornment> <SearchIcon /> </InputAdornment> } />Estoy usando
{searchInput.length > 0 ? () : ()}Debe verificar sus datos filteredData después de recibir los datos.
if (searchInput !== '') { const filteredData = APIData.filter((post) => { return Object.values(post).join('').toLowerCase().includes(searchInput.toLowerCase()) }) if(filteredData){ setFilteredResults(filteredData); }else{ console.log("no result found"); } } else{ setFilteredResults(APIData) }O verifique si su respuesta contiene algún tipo que esté buscando como
if (!isNumber(filteredData.id) && filteredData.id === 0) { console.log("no result found"); }Puede encontrar algunos ejemplos aquí https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/filter