如何防止在农业网格中双击单元格?



我想使用cellClicked($event)函数来处理网格中的点击。我需要禁用对同一单元格的多次单击以防止多余的后端调用。如果我向onCellDoubleClick($event)注册一个空回调,我的问题就解决了,但我想找到一个更优雅的解决方案。

农业网格是否有防止整个网格双击的选项?

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.
}

我通过创建自定义组件来处理它。

@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
}
}

在父组件中,我创建了一个执行后端调用的方法。

使用 AgGrid 的"suppressClickEdit">入站属性:

<ag-grid-angular
[rowData]="rowData"
[columnDefs]="columnDefs"
[suppressClickEdit]="true"
></ag-grid-angular>

最新更新