iview table自定义排序规则

下方 obj 就是columns中得一项

let obj = {
		title: item.name,
		minWidth: item.width,
		key: item.enName,
		sortable: item.sortable,
		sortMethod: (a, b, type) => {
			return this.$utility.sortFun(a, b, type)
		},
		dataSourceList: item.dataSourceList || [],
	}

sortFun(a, b, type) {
		console.log(a, b, type)
		// asc从小到大,排序规则,b 是第一个值
		// 1.数字优于字母
		// 2.字母根据首字母排序,相同得话比较下一位置字符, 数字排序也一样,比较下一位置
		// 3.如果一样,比较下一位置字符
		// 4.空字符,null,undefined 数字当0来排序,字符串当空字符来排序 基本是最小得
		if (type == 'asc') {
			if (typeof a == 'number') {
				let aa = a ? a : 0
				let bb = b ? b : 0
				return aa > bb ? -1 : 1
			} else {
				let aa = a ? a : ''
				let bb = b ? b : ''
				return aa.localeCompare(bb)
			}
		} else {
			if (typeof a == 'number') {
				let aa = a ? a : 0
				let bb = b ? b : 0
				return bb > aa ? -1 : 1
			} else {
				let aa = a ? a : ''
				let bb = b ? b : ''
				return bb.localeCompare(aa)
			}
		}
	},
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值