Данные не устанавливаются в случае динамических столбцов в угловых - PullRequest
0 голосов
/ 31 октября 2019

У меня есть таблица с динамическим заголовком, в которой я пытаюсь использовать datatable, но она не показывает правильное поведение при обновлении данных. Пожалуйста, проверьте приложенные снимки экрана для справки.

Динамические данные: Dynamic Data

Перед данными: enter image description here

После данных: enter image description here

Пожалуйста, проверьте также следующий код:

Первоначально определенные dtOptions:

        this.dtOptions = {
            columns: [{}],
            language: {
                processing: "Elaborazione...",
                search: "Cerca:",
                lengthMenu: "Visualizza _MENU_ elementi",
                info: "Vista da _START_ a _END_ di _TOTAL_ elementi",
                infoEmpty: "Vista da 0 a 0 di 0 elementi",
                infoFiltered: "(filtrati da _MAX_ elementi totali)",
                infoPostFix: "",
                loadingRecords: "Caricamento...",
                zeroRecords: "La ricerca non ha portato alcun risultato.",
                emptyTable: "Nessun dato presente nella tabella.",
                paginate: {
                    first: "Primo",
                    previous: "Precedente",
                    next: "Seguente",
                    last: "Ultimo"
                },
                aria: {
                    sortAscending: ": attiva per ordinare la colonna in ordine crescente",
                    sortDescending: ":attiva per ordinare la colonna in ordine decrescente"
                }
            }
        };

При обновлении данных:

updateChart(chartIndexData, dashboardComponentData, currentWidgetComponentData) {
    console.log('freeFormReport chartIndexData', chartIndexData);
    if(Array.isArray(chartIndexData)) {
        this.tableHeader = Object.keys(chartIndexData[0]);
        this.freeFormReportData = chartIndexData;

        ////////// Setting Table header //////////////
        this.dtOptions = {
            columns: [{COLUMNS:this.tableHeader}] 
        };
        this.rerender();

    } else {
        this.tableHeader = [];
        this.freeFormReportData = [];
        this.$toastr.info(chartIndexData, 'Info!');
        this.freeFormReportData = [];
        this.dtOptions = {
            columns: [{COLUMNS:this.tableHeader}]
        };
        this.rerender();
    }
    this.closeModal();
  }

Примечание. Этот код написан на английском языке. Пожалуйста, предложите возможное решение. Спасибо

...