wxs奇怪的bug 在开发版本 和测试版上没问题 但是在正式版会出现问题
- 当前 Bug 的表现(可附上截图)
正式环境 一个转化金额的过滤器 竟然无效 但是在测试环境 在开发环境 以及真机调试都是没有问题的 能够正常显示金额 但是正式上线 这里却显示不了了
这里面其实我已经填写了一个数值 在填写数字之后 会把数字按照三位一个,号切割 当输入框失去焦点后 过滤器所在的div 层显示出来 但是你看到确实一个空白的 这是在正式发布的版本上
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
需要对数字进行金钱格式转化 例如: 328562312.00 元 过滤成 328,562,312.00元
创建 numFr.wxs 过滤器
var numFr = { money: function (val) { var left = val.split( '.' )[0], right = '' ; right = val.indexOf( '.' ) != -1 ? (val.toString().split( "." )[1].length == 2 ? val.slice(val.indexOf( '.' )) : (val.toString().split( "." )[1].length == 1 ? val.slice(val.indexOf( '.' )) + '0' : val.slice(val.indexOf( '.' )) + '00' )): '.00' var regexp = getRegExp( '(\d{1,3})' , 'g' ); var temp = left.split( '' ).reverse().join( '' ).match(regexp); var st = (val < 0 ? "-" : "" ) + temp.join( ',' ).split( '' ).reverse().join( '' ) + right; console.log(val) return st } } module.exports = { money: numFr.money } |
在 index.wxml 中 使用
< wxs module = "numFr" src = "../../filter/numFr.wxs" ></ wxs > < label >金额</ label > < div class = 'moneyformat' wx:if = "{{ismoney && mount!=''}}" bindtap = 'tabpanel' >{{numFr.money(mount)}}</ div > < span class = "alerticon" >元</ span > < input type = 'text' value = '{{mount}}' name = 'amountmoney' bindblur = "tabformat" focus = "{{pricefocus}}" bindinput = "bindprice" hidden = "{{ismoney}}" /> |
JS 里面就不写了 但是操作是 输入金额数字后 输入框失去焦点 然后 div (class为 moneyformat的)里 显示 过滤转化后的金额