Я создатель этой библиотеки.Решение действительно простое.Пожалуйста, проверьте ссылку здесь , где описан этот пример.
Вам необходимо проверить в методе eventEmitted
, какой ключ заголовка был нажат.Затем вызовите свой собственный метод сортировки, в этом случае sortByLastName
eventEmitted($event) {
if ($event.event === 'onOrder') {
if ($event.value.key === 'name') {
this.sortByLastName($event.value.order === 'asc');
}
}
private sortByLastName(asc: boolean): void {
this.data = [...this.data.sort((a, b) => {
const nameA = a.name.toLowerCase().split(' ')[1];
const nameB = b.name.toLowerCase().split(' ')[1];
if (nameA < nameB) {
return asc ? -1 : 1;
}
if (nameA > nameB) {
return asc ? 1 : -1;
}
return 0;
})];
}