微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用nggride时无法读取未定义角度的属性“ api”

如何解决使用nggride时无法读取未定义角度的属性“ api”

import { Component,OnInit,ViewChild } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { AgGridAngular } from 'ag-grid-angular';

@Component({
  selector: 'app-sub1',templateUrl: './sub1.component.html',styleUrls: ['./sub1.component.css']
})

export class Sub1Component implements OnInit {
  @ViewChild('agGrid',{static: false} ) agGride:AgGridAngular

  columnDefs = [
    {headerName:'make',field: 
'make',sortable:true,filter:true,checkBoxSelection:true },{headerName:'model',field: 'model',filter:true  },{headerName:'price',field: 'price',filter:true }
  ];

  constructor(private http:HttpClient){}

  rowData :any;

  ngOnInit(){
    this.rowData=this.http.get('https://raw.githubusercontent.com/ag-grid/ag-grid/master/grid-packages/ag-grid-docs/src/sample-data/smallRowData.json')
  }

  getRow(){
    const selectednodes = this.agGride.api.getSelectednodes();
    const selectedData = selectednodes.map( node => node.data );
    const selectedDataStringPresentation = 
      selectedData.map(node => node.make + ' ' + node.model).join(',');
    console.log(`Selected nodes: ${selectedDataStringPresentation}`);
  }
}

解决方法

API 仅在网格初始化后可用,因此尝试通过监听 getRow() 事件来延迟 onGridReady() 方法的调用,这样您就可以确定您拥有 {{1} }} 并且你可以使用它。

要查看这是否是导致您出现问题的原因,您可以在 getRow() 方法上使用 setTimeOut 并查看是否可以解决问题。否则,尝试查找检查文档 如何通过 gridApi

等初始化方法获取 API

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。