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