Reactjs 返回一条搜索消息,在react hooks中显示零个搜索结果
如果React hooks中的搜索返回了Reactjs 返回一条搜索消息,在react hooks中显示零个搜索结果,reactjs,react-hooks,Reactjs,React Hooks,如果React hooks中的搜索返回了零结果,我想在页面中显示一条文本消息“没有可用于搜索条件的数据!”?我尝试了一个条件,但不确定在哪里添加 if(results.length == 0) { return ( <div>No data available for the search criteria !</div> ) } const [searchTerm, setSearchTerm] = useState(""); const [se
零结果
,我想在页面中显示一条文本消息“没有可用于搜索条件的数据!”?我尝试了一个条件,但不确定在哪里添加
if(results.length == 0) {
return (
<div>No data available for the search criteria !</div>
)
}
const [searchTerm, setSearchTerm] = useState("");
const [searchResults, setSearchResults] = useState([]);
const handleChange = event => {
setSearchTerm(event.target.value);
};
useEffect(() => {
const results = playerList.filter(player =>
player.name.toLowerCase().includes(searchTerm) || player.name.toUpperCase().includes(searchTerm) || player.position.toLowerCase().includes(searchTerm)
|| player.position.toUpperCase().includes(searchTerm)
);
setSearchResults(results);
}, [searchTerm]);
if(results.length==0){
返回(
没有可用于搜索条件的数据!
)
}
常量[searchTerm,setSearchTerm]=useState(“”);
const[searchResults,setSearchResults]=useState([]);
const handleChange=事件=>{
setSearchTerm(event.target.value);
};
useffect(()=>{
const results=playerList.filter(player=>
player.name.toLowerCase().includes(searchTerm)| | player.name.toUpperCase().includes(searchTerm)| | | player.position.toLowerCase().includes(searchTerm)
||player.position.toUpperCase()包括(searchTerm)
);
设置搜索结果(结果);
},[searchTerm]);
//
返回(
{
searchResults.map(播放器=>{
返回(
{player.name}
{玩家位置}
);
})
}
);
您只需使用三元运算符
,如下所示:
{
searchResults.length ?
searchResults.map(player => {
return (
<div className="grid-item">
<div>
<img className="playerProfilePic_home_tile" key={player.image} src={player.image}></img>
</div>
<div className="playerProfile_grid_border">
<h3 key={player.name}>{player.name}</h3>
<span className="playerPosition_home_tile" key={player.position}>{player.position}</span>
</div>
</div>
);
}) :
"No data available for the search criteria !"
}
{
搜索结果。长度?
searchResults.map(播放器=>{
返回(
{player.name}
{玩家位置}
);
}) :
“没有可用于搜索条件的数据!”
}
您只需使用三元运算符
,如下所示:
{
searchResults.length ?
searchResults.map(player => {
return (
<div className="grid-item">
<div>
<img className="playerProfilePic_home_tile" key={player.image} src={player.image}></img>
</div>
<div className="playerProfile_grid_border">
<h3 key={player.name}>{player.name}</h3>
<span className="playerPosition_home_tile" key={player.position}>{player.position}</span>
</div>
</div>
);
}) :
"No data available for the search criteria !"
}
{
搜索结果。长度?
searchResults.map(播放器=>{
返回(
{player.name}
{玩家位置}
);
}) :
“没有可用于搜索条件的数据!”
}
您可以根据搜索结果的长度使用三元运算符。
请检查以下代码:
return (
<div className="App">
<label>
<div className="playerSearch_Home">
<div className="playerSearch_Icon">
<img src="/images/search-image-player.jpg"></img>
</div>
<input type="text" className="playerSearch_Home_Input" placeholder="Search players..." value={searchTerm} onChange={handleChange} />
</div>
</label>
<div className="playerList_home_page">
<div className="grid-container">
{
**searchResults.length > 0 ?**
searchResults.map(player => {
return (
<div className="grid-item">
<div>
<img className="playerProfilePic_home_tile" key={player.image} src={player.image}></img>
</div>
<div className="playerProfile_grid_border">
<h3 key={player.name}>{player.name}</h3>
<span className="playerPosition_home_tile" key={player.position}>{player.position}</span>
</div>
</div>
);
})
**} : <p>Zero records found for the Search</p>**
</div>
</div>
</div>
返回(
{
**searchResults.length>0?**
searchResults.map(播放器=>{
返回(
{player.name}
{玩家位置}
);
})
**}:0条搜索记录**
)) 您可以根据搜索结果的长度使用三元运算符。 请检查以下代码:
return (
<div className="App">
<label>
<div className="playerSearch_Home">
<div className="playerSearch_Icon">
<img src="/images/search-image-player.jpg"></img>
</div>
<input type="text" className="playerSearch_Home_Input" placeholder="Search players..." value={searchTerm} onChange={handleChange} />
</div>
</label>
<div className="playerList_home_page">
<div className="grid-container">
{
**searchResults.length > 0 ?**
searchResults.map(player => {
return (
<div className="grid-item">
<div>
<img className="playerProfilePic_home_tile" key={player.image} src={player.image}></img>
</div>
<div className="playerProfile_grid_border">
<h3 key={player.name}>{player.name}</h3>
<span className="playerPosition_home_tile" key={player.position}>{player.position}</span>
</div>
</div>
);
})
**} : <p>Zero records found for the Search</p>**
</div>
</div>
</div>
返回(
{
**searchResults.length>0?**
searchResults.map(播放器=>{
返回(
{player.name}
{玩家位置}
);
})
**}:0条搜索记录**
)) 您需要根据搜索结果数组的长度进行条件渲染。如果数组中没有任何内容,那么它将显示一条消息
{!searchResults.length&(没有可用于搜索条件的数据!)}
返回(
{!searchResults.length&(没有可用于搜索条件的数据!)}
{
searchResults.map(播放器=>{
返回(
{player.name}
{玩家位置}
);
})
}
);
您需要根据搜索结果数组的长度进行条件渲染。如果数组中没有任何内容,那么它将显示一条消息
{!searchResults.length&(没有可用于搜索条件的数据!)}
返回(
{!searchResults.length&(没有可用于搜索条件的数据!)}
{
searchResults.map(播放器=>{
返回(
{player.name}
{玩家位置}
);
})
}
);