首页 > 解决方案 > 如何将正确的输入传递给 ag-grid?

问题描述

我面临一个非常奇怪的问题,我正在rowData为 agGrid 设置。如果我直接传递变量,它不工作,但在控制台上打印并分配它工作。我假设这可能是数据格式问题,但我想知道从控制台复制时它是如何工作的。

  const getPeerData = (rows) => {
    let company = rows;
    console.log(company) // If I copy from console and paste like below it's working fine
    company = [{
      "currency": "USD",
      "count": 24
    }]
    return company;
  };


  const gridOptions = {
    columnDefs : columnDefs,
    rowData : getPeerData(peerData),  // I tried rowData = peerData but it's not working
    rowSelection : 'single'
  };

这里可能有什么问题?

标签: javascriptreactjsag-grid

解决方案


页面加载完成后设置网格:-

 const getPeerData = (rows) => {
        let company = rows;
        console.log(company) 
         company = [{
          "currency": "USD",
          "count": 24
        }];
        return company;
      };
    
    
    // setup the grid after the page has finished loading
    
        document.addEventListener('DOMContentLoaded', function () {
          var gridDiv = document.querySelector('#myGrid');
          new agGrid.Grid(gridDiv, gridOptions);
           gridOptions.api.setRowData(getPeerData());
        });

或者,

考虑使用 ag-grid 的反应版本:-

https://plnkr.co/edit/NfTowhZqpqwd87HX

render() {
    return (
      <div style={{ width: '100%', height: '100%' }}>
          <AgGridReact
            modules={this.state.modules}
            columnDefs={this.state.columnDefs}
            defaultColDef={this.state.defaultColDef}
            onGridReady={this.onGridReady}
            rowData={this.state.rowData}
          />
      </div>
    );
  }
}

推荐阅读