我希望在输入搜索词之前,页面加载后立即显示所有结果。输入搜索词后,应该会出现相应的结果。我正在使用elastic search通过React Js显示结果。
下面是我的代码:
import React from 'react';
import PropTypes from 'prop-types';
import LazyLoad from 'react-lazy-load';
let i = 1;
class SearchResults extends React.Component {
constructor(props) {
super(props);
this.state = { results: [] }
}
render () {
return (
<div className="search_results">
<hr />
<ul>
{ this.props.results.map((result) => {
return (
<li key={ result._id + i++}>
<LazyLoad className="lazy">
<img className="image" src={<API URL> + result._source.file_name} alt="Search Result" />
</LazyLoad>
</li>
) }) }
</ul>
<button type="button" className="btn btn-default">Load More</button>
</div>
)
}
}
SearchResults.propTypes = {
results: PropTypes.array
}
export default SearchResults;我已经设置了size=20,我想从每20个请求。请帮帮我。谢谢。
目前,它只显示前20个结果。我希望它能通过无限滚动显示更多的结果。
发布于 2017-05-29 18:16:05
您需要更改您的查询,以说明您的分页。看看ES paging吧。
https://stackoverflow.com/questions/44239901
复制相似问题