[英]How to set previous(before re-rendering) value to ag-grid Cell Renderer input element after the element re-rendering?
我在 Angular 项目中有单元格渲染 class,该项目在 ag-grid 单元格内生成 html 输入模板。 水平滚动后,当输入单元格 go 离开屏幕时,ag-grid 重新渲染这些输入元素并且输入元素失去它们的值。 下面是我的 CellRenderer class:
export class TemplateRendererComponent implements ICellRendererAngularComp {
template: TemplateRef<any>;
templateContext: { $implicit: any, params: any };
refresh(params: any): boolean {
this.templateContext = {
$implicit: params.data,
params,
};
return true;
}
agInit(params: ICellRendererParams): void {
this.template = params[ 'ngTemplate' ];
this.refresh(params);
}
}
如何使这个输入元素保持它们的值?
根据cellRenderer
生命周期,一旦它不在视野范围内,它就会被销毁。
您可以实现ngOnDestroy()
并在单元格渲染器被销毁之前访问最后一个已知值。
ngOnDestroy() {
// do your stuff here
}
您可以将此值存储在 redux 存储或服务中。
然后可以在重新初始化渲染器时在agInit()
中访问此值。
" suppressColumnVirtualisation: 设置为 true 以便网格不会虚拟化列。例如,如果您有 100 列,但由于滚动而只有 10 列可见,则始终呈现所有 100 列。默认值:false" 来源: https:/ /www.ag-grid.com/javascript-grid-properties/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.