我正在角度7上测试ag-grid。我要做的一件事是检测网格中的单元格变化,但无法触发onCellValueChanged()。我只是在js和angular中迈出第一步,所以也许这是一个愚蠢的问题。谢谢
我在app.component.html中的网格定义:
<ag-grid-angular style="width: 950px; height: 320px;" class="ag-theme-balham"
[enableSorting]="true" [enableFilter]="true"
[rowData]="stocks" [columnDefs]="columnDefs" rowSelection="multiple"
[enterMovesDownAfterEdit]="true"
[enterMovesDown]="true">
(cellValueChanged)="onCellValueChanged($event)"
</ag-grid-angular>
我的app.component.ts:
import { Component , OnInit} from '@angular/core';
import { StockService } from './stock.service';
import { stock } from './stock';
import {MatButtonModule, MatCheckboxModule} from '@angular/material';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
stocks: stock[];
public loading = false;
pedidos: stock[];
constructor(private stockService: StockService) {this.stocks = []; }
columnDefs = [
{headerName: 'Código',
field: 'cod_ins',
width: 150,
suppressSizeToFit: true
},
{headerName: 'Cantidad',
field: 'pedido',
width: 110,
editable: true,
type: 'numericColumn',
}
];
onCellValueChanged(params: any) {
console.log('Estoy en onCellValueChanged !!!');
}
}
答案 0 :(得分:0)
之所以会这样,是因为rowData没有更改(this.stocks = []-alwasy,但是如果要在onCellValueChanged()方法中检测到它,则应该更改它) 尝试使用:
@Input() stocks
或尝试通过轮询从服务器调查中获取库存
答案 1 :(得分:0)
呃,问题是>放在错误的位置:
[enterMovesDown]="true">
(cellValueChanged)="onCellValueChanged($event)"
应该在这里
[enterMovesDown]="true"
(cellValueChanged)="onCellValueChanged($event)">
编译器未发出错误。