如何在同步融合网格组件中隐藏网格微调器

时间:2019-02-18 06:09:46

标签: angular syncfusion

我在我的项目中使用syncfusion Angular GridComponent。我希望网格一旦创建便有一个微调器,并且微调器应该旋转直到加载数据为止。 启动微调器时,我为创建网格时编写了一个函数:

document-table.component.html

<ejs-grid #grid (created)="creadted()" ...>
...
</ejs-grid>

document-table.component.ts:

@ViewChild('grid') grid: GridComponent
ngOnChanges(changes: SimpleChanges){
   this.tableData = changes.data.currentValue;
   if(changes.data.currentValue != null){
      this.grid.hideSpinner=()=>false; //it doesn't work and the spinner still spinning
   }
created(){
   this.grid.hideSpinner =()=>true; //spinner start spinning
}

数据加载后如何停止微调器?

1 个答案:

答案 0 :(得分:0)

ejs-gird docs说:

  

默认情况下,网格显示微调器的所有操作。

因此,如果您需要为操作手动设置微调器,我就不必担心。

如果必须手动设置微调器,则要基于对网格所做的某些更改来触发函数,则可能必须用setTimeout()包装函数调用。

@ViewChild('grid') grid: GridComponent
ngOnChanges(changes: SimpleChanges){
   this.tableData = changes.data.currentValue;
   if(changes.data.currentValue != null) {
      setTimeout(() => this.grid.hideSpinner(), 0)
   }
}
created() {
   setTimeout(() => this.grid.showSpinner(), 0)
}

另请参阅:Why is setTimeout(fn, 0) sometimes useful?