angular - 如何在任何事件上重新初始化 ag-grid?
问题描述
我通过单击要将 enableRtl 属性设置为 true 的按钮创建了一个 ag-grid 组件。
简而言之,我添加了一个组件,比如说 -
<ag-grid-angular #agGrid [floatingFilter]="true"
[enableRtl]="isArabic" (gridReady)="onGridReady($event)"
[(enableRtl)]="enableRtl"
[rowSelection]="rowSelection"
[defaultColDef]="columnConfig" [rowData]="data"
[columnDefs]="columns"
[gridOptions]="gridOptions"
></ag-grid-angular>
现在我想根据点击事件更改 enableRtl。
这里,enableRtl 是组件的公共变量。
但是,它并没有反映 RTL。
我在 Stackblitz 添加了场景 -
https://stackblitz.com/edit/angular-ag-grid-col-span-and-col-group-tsso85
解决方案
有一种方法可以实现这一目标。
ngIf
在元素级别有一个标志ag-grid-angular
,并有条件地在事件处理程序中切换它。
<ag-grid-angular *ngIf="showGrid"
class="ag-theme-material"
[rowData]="rowData"
[columnDefs]="columnDefs | async"
[gridOptions]="gridOptions"
[enableRtl]="lang"
>
</ag-grid-angular>
这样,网格将使用更新的标志重新初始化。
请记住,在重新初始化网格时,此处涉及性能成本。如果您认为影响可以忽略不计,这取决于您,这就是您的解决方案。
看看更新的 Stackblitz:ag-grid : RTL <-> LTR
推荐阅读
- shell - shell 处理和比较数组元素
- python-3.x - 如何在不实际写入队列的情况下测试写入队列
- google-analytics - 如何为支付推荐网站设置谷歌分析/谷歌标签管理器
- python - 尽管没有更改,JSON Web 令牌不再具有“解码”属性
- python - 如何在 Pyspark Dataframe 的特定索引中添加行或替换?
- javascript - 身份服务器:在 Angular 中登录和注销后重定向?
- database - Terraform for Digital Ocean 托管数据库防火墙
- actions-on-google - Google Action 让麦克风在没有提示的情况下为用户命令打开
- vba - 在 VBA 中使用“And _”避免嵌套 IF
- azure - 如何在 Azure Active Directory 中设置服务原则显示名称