【问题标题】:It's possible to get just 20 first results per page from web api?是否有可能从 web api 每页仅获得 20 个第一个结果?
【发布时间】:2019-10-18 14:11:08
【问题描述】:

我正在学习如何在 react 中使用 ag-grid,但发现了一个问题:

当我从 web api 获取数据时,结果非常好,比如 8600 个结果

问题

我想知道是否有可能,例如,每页只获得 20 个结果,而不是一次获得所有结果,或者仅通过使用这种洞察力准备的 api 来实现

一些代码:

//http request

onGridReady = params => {
  this.gridApi = params.api;
  this.gridColumnApi = params.columnApi;

  const httpRequest = new XMLHttpRequest();

  httpRequest.open( "GET", "https://raw.githubusercontent.com/ag-grid/ag-grid/master/packages/ag-grid-docs/src/olympicWinners.json" );
  httpRequest.send();
  httpRequest.onreadystatechange = () => {
    if (httpRequest.readyState === 4 && httpRequest.status === 200) {
      updateData(JSON.parse(httpRequest.responseText));
    }
  };
  
  const updateData = data => {
    this.setState({ rowData: data });
  };
};


//ag grid

render() {
  return (
      <div className="ag-theme-balham" style={{ height: '700px', width: '95%' }}>

        <AgGridReact
          columnDefs={this.state.columnDefs}
          defaultColDef={this.state.defaultColDef}
          defaultColGroupDef={this.state.defaultColGroupDef}
          columnTypes={this.state.columnTypes}
          rowData={this.state.rowData}
          onGridReady={this.onGridReady}
          pagination={true}          
          paginationPageSize={20}
        />
      </div>
  );
}

【问题讨论】:

  • 在你的情况下,数据没有分页,但我认为网格有pagination
  • @HMR 是的,它有并且我正在使用,但我认为当我使用分页时,它会继续同时获得所有内容
  • @HMR 如果 api 有这个分页是可能的吗? (我是使用 api 的新手)
  • 答案是否定的,因为您请求的是 json 文件,而不是 json 端点。如果您正在请求端点,那么您可以(例如)添加参数,例如 page=.. 和 size=..

标签: reactjs api get ag-grid


【解决方案1】:

根据 HMR 评论回答我的问题:

答案是否定的,因为您请求的是 json 文件,而不是 json 端点。

如果您正在请求端点,那么您可以(例如)添加参数,例如 page=.. 和 size=..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 2015-07-12
    • 2015-08-15
    • 2010-12-06
    • 2018-12-02
    相关资源
    最近更新 更多