如何在 angular 的 ag-grid 上触发 firstDataRendered?
how to trigger firstDataRendered on ag-grid in angular?
我的组件有获取数据的输入
我用 firstDataRendered 选择第一行。
问题是当输入数据发生变化时网格不会触发事件
如何根据我的输入更改触发网格事件?
<ag-grid-angular
#agGrid
class="ag-theme-alpine"
style="width: 100%; height: 500px"
[rowData]="flights"
[columnDefs]="columnDefs"
[rowSelection]="'single'"
(gridReady)="onGridReady($event)"
(firstDataRendered)="onFirstDataRendered($event)"
>
</ag-grid-angular>
import {
Component,
Input,
OnChanges,
OnInit,
SimpleChanges,
} from '@angular/core';
import { Flight } from './model/flight.interface';
@Component({
selector: 'app-worker-flights-list',
templateUrl: './worker-flights-list.component.html',
styleUrls: ['./worker-flights-list.component.css'],
})
export class WorkerFlightsListComponent implements OnInit, OnChanges {
@Input() flights: Flight[] = [];
gridApi: any;
rendered: boolean;
columnDefs = [
{ headerName: 'Flight Number', field: 'num' },
{ headerName: 'Origin', field: 'from' },
{ headerName: 'Origin Date', field: 'from_date' },
{ headerName: 'Destination', field: 'to' },
{ headerName: 'Destination Date', field: 'to_date' },
];
constructor() {}
ngOnChanges(changes: SimpleChanges): void {
if (changes['flights'] && this.rendered) {
// this.gridApi.api.getDisplayedRowAtIndex(0).setSelected(true);
}
}
ngOnInit(): void {}
onGridReady(grid: any): void {
debugger;
this.gridApi = grid;
}
onFirstDataRendered(params: any): void {
this.rendered = true;
this.gridApi.api.getDisplayedRowAtIndex(0).setSelected(true);
}
}
我的组件有获取数据的输入 我用 firstDataRendered 选择第一行。 问题是当输入数据发生变化时网格不会触发事件 如何根据我的输入更改触发网格事件?
<ag-grid-angular
#agGrid
class="ag-theme-alpine"
style="width: 100%; height: 500px"
[rowData]="flights"
[columnDefs]="columnDefs"
[rowSelection]="'single'"
(gridReady)="onGridReady($event)"
(firstDataRendered)="onFirstDataRendered($event)"
>
</ag-grid-angular>
import {
Component,
Input,
OnChanges,
OnInit,
SimpleChanges,
} from '@angular/core';
import { Flight } from './model/flight.interface';
@Component({
selector: 'app-worker-flights-list',
templateUrl: './worker-flights-list.component.html',
styleUrls: ['./worker-flights-list.component.css'],
})
export class WorkerFlightsListComponent implements OnInit, OnChanges {
@Input() flights: Flight[] = [];
gridApi: any;
rendered: boolean;
columnDefs = [
{ headerName: 'Flight Number', field: 'num' },
{ headerName: 'Origin', field: 'from' },
{ headerName: 'Origin Date', field: 'from_date' },
{ headerName: 'Destination', field: 'to' },
{ headerName: 'Destination Date', field: 'to_date' },
];
constructor() {}
ngOnChanges(changes: SimpleChanges): void {
if (changes['flights'] && this.rendered) {
// this.gridApi.api.getDisplayedRowAtIndex(0).setSelected(true);
}
}
ngOnInit(): void {}
onGridReady(grid: any): void {
debugger;
this.gridApi = grid;
}
onFirstDataRendered(params: any): void {
this.rendered = true;
this.gridApi.api.getDisplayedRowAtIndex(0).setSelected(true);
}
}