Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 按字母顺序排列下拉列表 添加实验室 {{lab.labCode}}_Angular_Sorting - Fatal编程技术网

Angular 按字母顺序排列下拉列表 添加实验室 {{lab.labCode}}

Angular 按字母顺序排列下拉列表 添加实验室 {{lab.labCode}},angular,sorting,Angular,Sorting,我正在维护一些以前没有经验的角度代码 我正在尝试创建一个按字母顺序排序的下拉列表。我试着模仿,但没有成功 我试过“让实验室的实验室| orderBy:'lab.labCode';” 和“让lab of labs.sort();”,因为labs已经有了排序功能 排序函数原型是sort(compareFn?:(a:T,b:T)=>number):这个带有: 对数组排序。 *@param compareFn用于确定元素顺序的函数的名称。如果省略,则按顺序对元素进行排序 升序,ASCII字符顺序 如您所

我正在维护一些以前没有经验的角度代码

我正在尝试创建一个按字母顺序排序的下拉列表。我试着模仿,但没有成功

我试过
“让实验室的实验室| orderBy:'lab.labCode';”

“让lab of labs.sort();”
,因为labs已经有了排序功能

排序函数原型是
sort(compareFn?:(a:T,b:T)=>number):这个带有:

对数组排序。 *@param compareFn用于确定元素顺序的函数的名称。如果省略,则按顺序对元素进行排序 升序,ASCII字符顺序

如您所见,实验室有一个labCode(字符串),需要用于排序

任何帮助都将不胜感激

----编辑--------- 实验室阵列的内容:

在angular的更高版本中没有örderBy管道。您必须按照示例中给出的方法编写管道,并应用相同的方法

您可以在
ngOnInit()中对数组进行排序


在您的html中,使用sorted代替labs

下面的代码可以添加到组件的ngOnInit()中或API调用success中以按字母顺序排序

labs.sort((a,b)=>a.labCode.localeCompare(b.labCode))


希望这能有所帮助。

为什么不在OnInit()中订购labs数组?因为我的想法是,“找到发生这种情况的地方,然后修改它以实现我的目的”,我想。我提醒你,我在这方面没有经验。你能详细说明一下吗?你能展示一下实验室阵列的内容吗?请检查编辑部分。我希望这就是你的意思。
            <div class="form-group" *jhiHasAnyAuthority="['ROLE_ADMIN']">
                <label class="form-control-label" jhiTranslate="ManagementApp.project.lab" for="field_leader">Add Lab</label>
                <select class="form-control" id="field_lab" name="lab">
                    <option [ngValue]="null"></option>
                    <option *ngFor="let lab of labs;" (click)="addLab(lab)">{{lab.labCode}}</option>
                </select>
            </div>
 sorted : []
 ngOnInit(): void {

    this.sorted = labs.sort((a, b) => a.labCode> b.labCode? 1 : -1);
  }