写项目中发现的,因此没有小demo,贴代码,和思路,可以根据自己的需求进行修改
1. 首先定义过滤器,没什么好说的,我之前也写过关于使用过滤器的,可以看下就知道了,很简单
2.这是过滤器,看注释
filters: {
//new Array(number),一个参数中间数字是几数组的长度就是几
//join(String),将数组转为字符串并且在中间添加你的标识,::中间!
// [1,2,3,4].join('*') = [1*2*3*4] 也就是说数组长度是5实际只有四个*
nameFilter(value) {
// value是陈大牛,根据位数转为数组,在数组item间添加*号,1*2*3,三字的话2*
const end = new Array(value.length).join('*');
// 这个通过slice截取第一位,
const start = value.slice(0, 1);
//因为*刚好少一位,直接拼接上姓,得到陈**,更长或短的名字同理
return `${start}${end}`;
},
accountFilter(value) {
//这边示例过滤手机号
//先获取后四位
const end = value.slice(-4);
//手机号是11位,长度是10(length从0开始),现在要计算中间有几个*,
//获取前三位
const start = value.slice(0, 3);
//已知我显示了前三位后四位,共七位,是11-7,
//转数组join一下刚好少一位*,
const middle = new Array(value.length-6).join('*');
//拼接起来
return `${start}${middle}${end}`;
}
},
3.这是得到的结果