如果我的热门搜索刚好是45条数据,第五页也会报错
来源:7-14 热门搜索换页功能实现
不知不觉19
2019-01-10
if (jsList.length) {
for (let i = (page-1)*10; i < page * 10; i++) {
if (jsList[i]) {
pageList.push(<SearchInfoItem key={jsList[i]}>{jsList[i]}</SearchInfoItem>)
}
}
}
如果我的热门搜索刚好是45条数据,第五页也会报错,因为第五页只有五条数据,后面的五条都是undefined,需要按照以上判断修改代码。
问题已修复。
5回答
-
wssjgj
2019-06-23
for (let i=(page-1) * 10; i< ((page*10>newList.length)?(Math.min(page * 10,newList.length)):(page * 10)); i++){ pageList.push( <SearchInfoItem key={newList[i]}>{newList[i]}</SearchInfoItem> ) }
可以这样判断一下就好了吧
112019-07-04 -
用户1106094
2019-10-12
其实这个判断直接放在 for 循环里面就可以了呀, 包括 key 值报错问题也顺带一起解决了.
for (let i = (page - 1) * 10; i < page * 10 && i < jsList.length; i++) { pageList .push( <SearchInfoItem key={jsList[i]}> {jsList[i]} </SearchInfoItem> ) }
00 -
liyuankunkun
2019-06-14
if ( page*10 < newList.length ){
for(let i = (page-1)*10 ; i < page *10 ; i++){
pageList.push(
<SearchInfoItem key={newList[i]}>{newList[i]}</SearchInfoItem>
)
}
}else {
for(let i = (page-1)*10 ; i < newList.length; i++){
pageList.push(
<SearchInfoItem key={newList[i]}>{newList[i]}</SearchInfoItem>
)
}
}
00 -
Mr李小帅
2019-01-25
`
for (let i = (page-1) * 10; i < page * 10; i++) {
if(newList[i]){
pageList.push(
<SeacrchInfoItem key={newList[i]}>{newList[i]}</SeacrchInfoItem>
)
}
}
`
我是外层加了一个判断,虽然不太美观,但是实用啊
012019-01-25 -
qq_依云弄影_0
2019-01-18
可以把 内侧的 if 的条件改下
if (i < newList.length)
你在试试看
00
相似问题