我想使用cellClicked($event)
函数来处理网格中的点击。我需要在同一单元格上禁用多次单击,以防止不必要的后端调用。如果我向onCellDoubleClick($event)
注册一个空回调,那么我的问题就解决了,但是我想找到一个更优雅的解决方案。
ag-grid是否可以防止双击整个网格?
this.gridOptions = <GridOptions> {
...
onCellClicked: this.cellClicked.bind(this), // <-- Only one with supstance
onGridReady: this.onGridReady.bind(this),
onCellDoubleClicked: this.onCellDoubleClicked.bind(this) // <-- Empty function, feels hacky.
}
答案 0 :(得分:0)
我通过创建custom component来处理它。
@Component({
template: `
<button [disabled]="isDisabled" (click)="invokeParent()"</button>
`
})
export class ChildComponent implements ICellRendererAngularComp {
private isDisabled: boolean = false;
private params: any;
constructor() {}
agInit(params: any) {
this.params = params;
if (this.params.value === true) {
this.isDisabled = true;
}
}
public invokeParent() {
this.params.value === false ? this.isDisabled = true : this.isDisabled = false;
this.params.context.ParentComponent.parentMethod(this.params);
}
refresh(): boolean {
return true
}
}
在父组件中,我创建了一个方法来执行后端调用。