Vue点击按钮进行排序

首先先引入vue,js,不然一切操作均无效

先用一个外部div包裹整体,然后写出基本样式,input框可以搜索显示名字,写三个按钮分别绑定点击事件,然后再用一个v-for遍历数组,显示在页面上

<div id="root">
			<h2>人员列表</h2>
			<input type="text" name="" id="" value="" placeholder="搜索" v-model="keyword" />
			<button @click='softval=2'>升序</button>
			<button @click='softval=1'>降序</button>
			<button @click='softval=0'>原序</button>
			<ul>
				<li v-for="p in filpersons" :key="p.id">{{p.name}}--{{p.age}}--{{p.sex}}</li>
			</ul>
		</div>

在script标签里写出Vue实例 

const db = new Vue({
				el: "#root",
				data: {
					keyword: '',
					softval: 0,
					persons: [{
							id: '001',
							name: '周杰伦',
							age: 28,
							sex: '男'
						},
						{
							id: '002',
							name: '炎亚伦',
							age: 18,
							sex: '男'
						},
						{
							id: '003',
							name: '周星驰',
							age: 48,
							sex: '男'
						},
						{
							id: '004',
							name: '张星星',
							age: 38,
							sex: '女'
						}
					],
					
				},
				computed: {
					filpersons() {
						const arr = this.persons.filter((p) => {
							return p.name.indexOf(this.keyword) !== -1
						})
						if (this.softval) {
							arr.sort((a, b) => {
								return this.softval === 1 ? b.age - a.age : a.age - b.age
							})
						}
						return arr
					}
				}
})

这边就不显示效果图了,写出来一看便知

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值