Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 排序素数列_Angular_Primeng_Primeng Turbotable - Fatal编程技术网

Angular 排序素数列

Angular 排序素数列,angular,primeng,primeng-turbotable,Angular,Primeng,Primeng Turbotable,我使用的是一个素数表,并对列使用了它们的切换方法。唯一的问题是,当您关闭并重新打开列时,它会将列返回到表的末尾。我想知道是否有人知道如何对它们进行排序,使列返回到原始位置 我尝试在component.ts文件中使用各种排序方法,但没有成功 是我在Priming中使用的示例(可以测试并查看那里的代码)示例中的列顺序由selectedColumns数组确定。 默认情况下,在MultiSelect组件中,它会将任何更改附加到数组的末尾。 因此,您应该在MultiSelect上的每个更改事件之后对其进行

我使用的是一个素数表,并对列使用了它们的切换方法。唯一的问题是,当您关闭并重新打开列时,它会将列返回到表的末尾。我想知道是否有人知道如何对它们进行排序,使列返回到原始位置

我尝试在component.ts文件中使用各种排序方法,但没有成功


是我在Priming中使用的示例(可以测试并查看那里的代码)

示例中的列顺序由selectedColumns数组确定。 默认情况下,在MultiSelect组件中,它会将任何更改附加到数组的末尾。 因此,您应该在MultiSelect上的每个更改事件之后对其进行排序。添加事件处理程序modelChange()


在组件ts文件中

  modelChange(event) {
    console.log('change fired')
    this.selectedColumns = event;
    this.selectedColumns.sort(
      function compare(a, b) {
        if (a.field < b.field)
          return -1;
        if (a.field > b.field)
          return 1;
        return 0;
      }

    );
    console.log(this.selectedColumns);
  }
}
modelChange(事件){
console.log('change-fired')
this.selectedColumns=事件;
这是.selectedColumns.sort(
功能比较(a、b){
if(a.字段b字段)
返回1;
返回0;
}
);
console.log(this.selectedColumns);
}
}
请参见此处的演示:

  modelChange(event) {
    console.log('change fired')
    this.selectedColumns = event;
    this.selectedColumns.sort(
      function compare(a, b) {
        if (a.field < b.field)
          return -1;
        if (a.field > b.field)
          return 1;
        return 0;
      }

    );
    console.log(this.selectedColumns);
  }
}