vue数据排序

<template>
  <div>
    <el-button type="primary" @click="btn()">排序</el-button>
    <span v-for="item in list" :key="item.date">{{item.date}}</span>
  </div>
</template>

<script>
export default {
  data () {
    return {
      list: [
        { date: '2016-05-02' },
        { date: '2016-05-04' },
        { date: '2016-05-08' },
        { date: '2016-05-07' },
        { date: '2016-05-01' }
      ],
      sortType: false
    }
  },
  methods: {
    // 排序的方法
    compare (attr, rev) {
      if (rev == undefined) {
        rev = 1;
      } else {
        rev = (rev) ? 1 : -1;
      }
      return (a, b) => {
        a = a[attr];
        b = b[attr];
        if (a < b) {
          return rev * -1;
        }
        if (a > b) {
          return rev * 1;
        }
        return 0;
      }
    },
    // 排序
    btn () {
      this.sortType = !this.sortType
      if (this.sortType) {
        this.list.sort(this.compare('date', true))
      } else {
        this.list.sort(this.compare('date', false))
      }
    }
  }
}
</script>

<style lang="less" scoped>
span {
  width: 100px;
  display: block;
  margin-left: 200px;
  margin-top: 30px;
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学不会•

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值