Ошибка отображения данных в таблицах данных на стороне сервера (Angular) - PullRequest
1 голос
/ 03 октября 2019

Я довольно новичок в использовании Angular. В настоящее время я внедряю таблицы данных в веб-страницу. Для этого я следую этому руководству: https://l -lin.github.io / angular-datatables / # / basic / server-side-angular-way .

Несмотря наруководство, я дал ему свой собственный поворот. В результате в глючной дататабельно. Нет нумерации страниц, все имена на одной странице, данные теряются после поиска имени, ..

Я использую forkJoin внутри dtOptions, может быть, это ошибка? Кто-нибудь получил идею?

Мой код

export class NewPackageComponent implements OnInit {
  dtOptions: DataTables.Settings = {};
  pageEvent: PageEvent;
  clickedTransactionID: string;
  packagesArray: string[]

  constructor(public packageToolkitService: PackageToolkitService) { }

  ngOnInit(): void {
    let that = this;

    this.dtOptions = {
      pagingType: 'full_numbers',
      pageLength: 10,
      processing: true,
      ajax: (dataTablesParameters: any, callback) => {
        forkJoin([that.packageToolkitService.getPackages()])
          .subscribe(packages => {
            that.packagesArray = packages[0]['packageNames']
          })
      }
    };
  }

PackageToolkitService

getPackages() {
    return this.http.get(buildUrl('.gui.wmPackage/_get?'), httpOptions);
  }

HTML

<table datatable [dtOptions]="dtOptions" class="row-border hover">
      <thead>
        <tr>
          <th>NAME</th>
        </tr>
      </thead>
      <tbody *ngIf="packagesArray?.length != 0">
          <tr *ngFor="let package of packagesArray">
              <td>{{ package }}</td>
          </tr>
      </tbody>
      <tbody *ngIf="packagesArray?.length == 0">
        <tr>
          <td colspan="3" class="no-data-available">No data!</td>
        </tr>
      <tbody>
</table>

JSON GET Response

{
    "requestHdrs": {
        "Content-Type": "application/json",
    },
    "packageMap": [
        {
            "build": "161",
            "name": "WmTN",
            "description": "Trading Networks",
            "version": "10.1.0.0.161"
        },
        {
            "build": "",
            "name": "test",
            "description": "",
            "version": ""
        },
        {
            "name": "be_nrb_rst_shared_party_v2",
            "version": "2.0.0"
        }
    ],
    "packageNames": [
        "WmTN",
        "test",
        "be_nrb_rst_shared_party_v2"
    ]
}

Кто-нибудь получил идею?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...