0
私はカラムをカスタムソートする必要がある角度2アプリでデータテーブルを持っています。PrimeNg Datatableカスタム並べ替え自体を繰り返す
<p-column field="eligible" header="Eligible" sortable="custom" (sortFunction)="sortColumn($event)"></p-column>
私のコンポーネントファイルでは、ロジックをベースにバックエンドからソートされた結果を取得するAPI呼び出しを行っています。
sortColumn(colName: any) {
let columnName = undefined !== colName.field ? colName.field : colName;
let sortObject: any = {};
if (this.sortedColumn === columnName) {
if (!this.sortAsc) {
this.sortAsc = true;
sortObject[columnName] = 'DESC';
} else {
this.sortAsc = false;
sortObject[columnName] = 'ASC';
}
} else {
this.sortedColumn = columnName;
this.sortAsc = false;
sortObject[columnName] = 'ASC';
}
this.getData(sortObject);
}
このAPIは、データ全体を戻し、ビューの順序を変更します。今ここで起こっているのは、このメソッドsortColumn()が繰り返し呼び出され続けることです。
誰でもこの問題の原因となっている可能性があり、それを解決する方法を理解できますか?データテーブル
<p-dataTable [value]="data" (onSort)="sortColumn($event)>
<p-column field="vin" header="Vin" ></p-column>
<p-column field="eligible" header="Eligible" [sortable]="true"></p-column>
<p-column field="year" header="Year"></p-column>
<p-column field="color" header="Color" ></p-column>
</p-dataTable>
のイベントonSortを試して
onSort($ event)は、コンポーネント内で自分のメソッドsortColumn()を呼び出していません。 –
私は投稿を更新し、再度証明する – alehn96
ありがとうございました。 –