Vue排序功能

先看效果图:

HTML部分

<div>
     <el-button @click="toggleSort('money', false)" type="primary">从小到大</el-button>
     <el-button @click="toggleSort('money', true)" type="primary">从大到小</el-button>
     <div v-for="item in testpage2"></div>
     <div v-for="item in sortList">{{ item.num }}</div>
</div>

通过toggleSort点击事件并传递参数来控制排序

 

JS部分

export default {
        data(){
            return{
                sortList:[{num:'5'},{num:'88'},{num:'43'},{num:'56'},{num:'28'},{num:'61'},{num:'9'}],
                d_sort:'',       //默认不排序
                newSort:false,//默认小大到大排列
            }
        },
        computed:{
            //排序
            testpage2: function(){
                var _this = this;
                var arrByZM = []; //声明新的数组用来存储排序的数据
                if(_this.d_sort != ''){
                    _this.sortList.sort(function( a , b){
                         if(_this.newSort){
                              return b.num - a.num;
                         }else{
                              return a.num - b.num;
                         }
                    });
                }
                //返回排序后的数据
                return arrByZM;
            },
        },
        methods:{
            //排序
            toggleSort(d_sort,newSort){
                this.d_sort = d_sort;
                this.newSort = newSort;
            },
        }
}

通过computed计算属性来监听排序的变化,并返回最新的排序数组

至此排序完成,以上是完整的排序方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值