Невозможно правильно инициализировать dtOptions из angular datatable - PullRequest
0 голосов
/ 18 марта 2020

Я использую angular таблицы данных для привязки данных, а также ngx-translate для перевода легенд таблицы данных. До сих пор я мог связывать данные и применял перевод к заголовкам таблиц. На панели навигации есть выпадающий список, который меняет язык. Мне также нужно применить перевод к dtOptions при смене языка.

<table datatable [dtOptions]="dtOptions" [dtTrigger]="dtTrigger"
                    class="table table-striped table-bordered table-sm row-border hover">
                    <thead>
                      <tr>
                        <th><span translate="Division"></span></th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr *ngFor="let emp of empdata">
                        <td>{{emp.DivisionID}}</td>
                      </tr>
                    </tbody>
                  </table>

, и вот мой компонент для загрузки dtOptions, я могу обнаружить изменение языка:

ngOnInit() {
this.translate.get(this.dataTableTranslations).subscribe(result=>{
  this.dtOptions = {
    pagingType: 'full_numbers',
    pageLength: 10,
    "responsive": true,
    "autoWidth": false,
    language: {
      search: `${result['searchResult']}&nbsp;:`,
    }
  };
})

this.languageService.currentLanguage.subscribe(data=>{
  this.translate.get(this.dataTableTranslations).subscribe(result=>{
      this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {
        this.dtOptions = {
          pagingType: 'full_numbers',
          pageLength: 10,
          "responsive": true,
          "autoWidth": false,
          language: {
            search: `${result['searchResult']}&nbsp;:`,
          }
        };
        dtInstance.destroy();
        this.dtTrigger.next();
      });
  })

})

}

Всякий раз, когда Я меняю язык с выпадающего перевода, но он меняется, но в то же время он возвращается к предыдущему тексту для поиска. Например, если я перехожу с английского на английский язык sh, текст 'search' отражает изменение, но снова возвращается к тексту на английском языке sh, но если я снова изменяю его с французского на английский sh, он показывает французский текст для поиска и после каждого последующего изменения языка он меняет язык, но не в первый раз. Любая помощь

...