vue 時間日期的升降序

話不多說直接上圖
第一步:表頭字段加升降序圖標

<thead>
 <tr>
    <th>
     <div>
        <span>預警時間
            <i class="fa fa-angle-down" v-show="isShowA==false" @click="ShowA"></i>
            <i class="fa fa-angle-up" v-show="isShowA!=false" @click="ShowA1"></i>
         </span>
       </div>
      </th>
   </tr>
  </thead>

效果如圖
在這裏插入圖片描述在這裏插入圖片描述

                 <tbody class="data-tbody" id="tbody">
                     //升序列表
                      <tr v-for="(item,index) in range" v-if="togglelist==false">
                        <td>{{item.CaseNum}}</td> <!-- 發病人數 -->
                        <td>{{item.WarningDate}}</td>     <!--預警時間  -->
                      </tr>
                      //降序列表
                       <tr v-for="(item,index) in range" v-if="togglelist==false">
                        <td>{{item.CaseNum}}</td> <!-- 發病人數 -->
                        <td>{{item.WarningDate}}</td>     <!--預警時間  -->
                      </tr>
                   </tbody>

第二步:點擊升序或降序!
效果如下:降序在這裏插入圖片描述升序
在這裏插入圖片描述
具體實現方法:
思路:後臺返回的數據定義爲list,我們需要把list數據在點擊升序時利用computed方法把list計算統計爲range,(降序:range1),也就是tbody裏面的range,range1。

computed: {
      //降序
      range: function() {
          return this.list.slice().sort((a, b) => new Date(a.WarningDate).getTime() - new Date(b.WarningDate).getTime()).reverse(); //結    合reverse(),成功實現降序排列
      },
      //升序
      range1: function() {     
          return this.list.slice().sort((a, b) => new Date(a.WarningDate).getTime() - new Date(b.WarningDate).getTime()); //結合reverse(),成功實現降序排列
      },
      }

上面爲升降序統計的方法,list爲原有數據,range爲降序後的數據,range1爲升序後的數據。
接下來說一下點擊升序或降序時的方法

 methods: {
 //降序;
     ShowA() {
        this.type = 1;
        this.isShowA = true;
        this.togglelist = true;
      },
      //升序
      ShowA1() {
        this.type = 1;
        this.isShowA = false;
        this.togglelist = false;
      },
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章