2 回答
TA贡献1803条经验 获得超6个赞
在radio值改变事件的回调函数中调用该函数。
function sortCitoyens(citoyens, isAsc) {
if(isAsc){
citoyens.sort((a,b)=>a.id-b.id)
}else{
citoyens.sort((a,b)=>b.id-a.id)
}
}
TA贡献1851条经验 获得超3个赞
有人发布了答案,然后将其删除,但我有时间这样做并且它有效,所以谢谢大家的帮助:)
<section class="col-12">
<h2>Sélection Par Nom:</h2>
<select (change)="surSelection($event.target.value)">
<option value="" selected disabled hidden>Choisissez:</option>
<option *ngFor="let cito of citoyens.sort()" [value]="cito.id">{{cito.nom}} : {{cito.id}}</option>
</select>
<button (click)="activerSelectionNAS()"> Trier Par NAS </button>
<section>
<input type="radio" id="asc" name="sort" (click)="sort('asc')">
<label for="asc">Ascendant</label><br>
<input type="radio" id="desc" name="sort" (click)="sort('desc')" >
<label for="desc">Descendant</label>
</section>
</section>
sort(type: string) {
const sortList = (a: any, b: any) => a.nom.toLowerCase().localeCompare(b.nom.toLowerCase());
this.citoyens = type === "asc"
? this.citoyens.sort((a: any, b: any) => sortList(a, b))
: this.citoyens.sort((a: any, b: any) => sortList(b, a));
}
添加回答
举报