filter在ios不兼容 js_【报Bug】filter在iOS平台工作不正常

本文探讨了在uni-app项目中,使用自定义的dateFormat过滤器在Chrome和iOS调试环境下的不同表现。重点在于如何解决在iOS上日期格式始终显示为0的问题,通过源码解析和环境差异分析提供修复建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在uni-app中使用如下的过滤器

{{sj | dateFormat('HH:mm')}}

在Chrome调试时工作正常。但在iOS调试时总是显示为0。

过滤器内容如下:

Vue.filter('dateFormat', function(value, format) {

if (value==undefined) {

return '';

}

let s=(''+value+',,,,,,').replace(/-/g, ',').replace(/\:/g, ',').replace(/./g, ',').replace(/T/g, ',').replace(/\//g, ',').replace(/ /, ',');

let a=s.split(',');

if (!format) {

format='yyyy-MM-dd hh:mm';

}

var o = {

"M+" : a[1], //month

"d+" : a[2], //day

"h+" : a[3], //hour

"H+" : a[3], //hour

"m+" : a[4], //minute

"s+" : a[5], //second

"S" : a[6] //millisecond

}

if(/(y+)/.test(format)) {

format=format.replace(RegExp.$1, (a[0]+"").substr(4 - RegExp.$1.length));

}

for(var k in o) {

if(new RegExp("("+ k +")").test(format)) {

format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));

}

}

return format;

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值