当 table 列包含空值或空值时,在 ng-bootstrap table 中排序不一致 (Angular 8)

Sorting works inconsistently in ng-bootstrap table, when table column contains null or empty values (Angular 8)

我正在关注官方 ng bootstrap 网站以实现此功能。 - Url

但是只要列中有空值或空值,排序就不会按预期进行,当您在任何列中使用 "Sort Ascending" 或 "Sort Descending" 操作时会发生这种情况。

而且我认为我们需要在其实施中修复这部分的错误。请告诉我如何调整这个

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 }; 

如果你们中的任何人感兴趣,这里就是这个问题的解决方案。

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

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

这就是 javascript 的工作原理,与 ng-bootstrap 无关。 开发人员需要决定如何对空值进行排序(将它们放在集合的开头或结尾)并提供尊重的比较逻辑。