【问题标题】:Angular Datatable: Table data is not updated for every search(once refresh and re-search only getting new data)Angular Datatable:每次搜索都不会更新表数据(一旦刷新并重新搜索只会获取新数据)
【发布时间】:2020-12-16 06:39:33
【问题描述】:

Angular 数据表:有搜索字段。将进行选择并将获得数据表人口。第一次工作正常,一旦我们单击其他一些数据并单击,API 响应就会出现,但表中的数据没有更新。您能否建议我如何销毁/重新初始化表以供下次单击。这是我写的示例代码

    //html table
    
         <table
            datatable
            [dtOptions]="dtOptions"
            [dtTrigger]="dtTrigger"
            class="row-border hover">
            </table> 

    //datatable properties

    this.dtOptions = {
          data: jsonData,
          pagingType: "full_numbers",
          pageLength: 10,
          scrollCollapse: true,
          processing: true,
          fixedHeader: true,
          destroy: true,
          columns: [
            {data: 'test1'},
            {data: 'test2'},
            {data: 'test3'},
      ]
    }

 //http.get for response

    this.http
        .get(url, {params})
        .subscribe((res) => {
          this.results = res;
          this.dtTrigger.next();
   }
    //Table destroy

     ngOnDestroy(): void {
        this.dtTrigger.unsubscribe();
      }

【问题讨论】:

  • 你的 this.http.get 是否在 ngOnInit 中?
  • 不,当我点击按钮时,我正在调用 this.http.get

标签: javascript jquery typescript datatables angular-datatables


【解决方案1】:

我认为这个问题与

重复

Getting error in Angular 5 Datatables: cannot reinitialise DataTable

为了在下次点击时重新初始化表格,您可以定义这个

rerender(): void {
  this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {
     dtInstance.destroy();
     this.dtTrigger.next();     
 });

并在服务器响应后调用 rerender() 函数

希望能回答你的问题

【讨论】:

    猜你喜欢
    • 2014-11-18
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2020-01-29
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 2013-04-01
    相关资源
    最近更新 更多