Сортировка работает некорректно в таблице ng- bootstrap, когда столбец таблицы содержит нулевые или пустые значения (Angular 8) - PullRequest
0 голосов
/ 24 апреля 2020

Я следую за официальным веб-сайтом ng bootstrap, чтобы реализовать эту функцию. - Url

Но всякий раз, когда в столбце есть пустое или нулевое значение, сортировка не работает должным образом, и это происходит, когда вы используете действия «Сортировка по возрастанию» или «Сортировка по убыванию» в любом column.

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

const compare = (v1: string, v2: string) => v1 < v2 ? -1 : v1 > v2 ? 1 : 0;

Я настроил таким образом, но он не работает должным образом.

v1 = v1 == '' ? ' ' : v1; 
v2 = v2 == '' ? ' ' : v2;
if (v1 === v2) { return 0 }; 
if (v1 < v2) { return -1 }; 
if (v1 > v2) { return 1 }; 

Ответы [ 2 ]

0 голосов
/ 25 апреля 2020

Так работает javascript и не имеет ничего общего с ng- bootstrap. Разработчик должен решить, как сортировать пустые значения (поместить их в начало набора или в конец) и предоставить уважительные логики сравнения c.

0 голосов
/ 24 апреля 2020

На случай, если кто-то из вас заинтересован, вот решение этой проблемы.

function compare(v1, v2) {
  if(v1 < v2 || !v1) {
    return -1;
    }

    if(v1 > v2 || !v2) {
      return 1;
    }    
    return 0;
}
...