【问题标题】:How to do sorting by date ( ascending and descending order) using chevron up and down icons如何使用 V 形上下图标按日期排序(升序和降序)
【发布时间】:2018-04-23 13:32:29
【问题描述】:

我想创建一个带有 V 形向上图标的表格。当我单击该图标时,日期数组应按升序排列,当我再次单击该图标时,这一次它的 V 形向下,日期应为按降序排列。如何在角度上实现这一点。所以我有下面的代码,带有人字形图标和日期(作为对象数组返回)

<div class="col-md-12 no-padding sortby">Sort by:Latest<span class="fa fa-chevron-up"></span></div>
<div class="col-md-6 no-padding">
                              <span>{{sample.dates}}</span>
                            </div>

【问题讨论】:

  • 请向我们展示您的代码!
  • @TanDuong 在我的例子中,日期是以 JSON 形式的对象数组出现的。所以我只包含了绑定部分

标签: angular sorting date


【解决方案1】:

风格:

<span class="fa fa-chevron-up" *ngIf="order" [ngClass]="{'asc': order > 0, 'desc': order < 0}"></span>

在你的课堂上

.fa.fa-chevron-up.asc {
  // Nothing
}
.fa.fa-chevron-up.desc {
  transform: rotate(180deg);
}

对于您的打字稿代码(您必须绑定到按钮)

order = 0;
sort(order: number) {
  this.order = order;
  this.data = this.data.sort((a, b) => order < 0 ? 
    a.createdAt.getTime() - b.createdAt.getTime() : order > 0 ? 
    b.createdAt.getTime() - a.createdAt.getTime() : 0);
}

现在您的数据将被过滤并显示您的 V 形

(免责声明:我不确定您的 chevron 的顺序和方向,所以不要犹豫,在代码和类中颠倒条件)

【讨论】:

  • 啊哈,认真的吗?你给一段随机的代码,你期待一个小提琴?在 stackblitz 上给我一个minimal reproducible example,我会给你这段代码的结果。幸运的是我回答了,我通常会要求关闭此类问题。
  • 排序必须返回:负数、0或正数(非真或假):使用a.createAt.getTime()-b.createAt.getTime()
  • 别介意我之前的评论,谢谢你的指正!
  • 这里的订单是什么?
  • 你的排序方向。
猜你喜欢
  • 1970-01-01
  • 2020-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 2023-03-07
  • 1970-01-01
相关资源
最近更新 更多