<input
class="same-input"
data-item-index="{{index}}"
value="{{ item.standardPrice }}"
placeholder="单价"
type="digit"
bind:input="getPriceNum"
/>
// input输入中
getPriceNum (event) {
let that =this;
let amount = event.detail.value
console.log(amount)
let num = null
// 小数点后最多只能输入两位
num = amount.replace(new RegExp('^(\\d+\\.\\d{2}).+'), '$1')
// 小数点开头得话,让前面加个0 eg: 0.xx
const startPoint = /^\./g
if (startPoint.test(num)) {
num = amount.replace(startPoint, '0.')
}
// 若没有小数点,前面输入多个0,去掉0取整
// if(num有值 && 没有小数点 && 不等于'0')
if (num && !num.includes('.') && num !== '0') {
num = +num
}
// 若出现多个小数点,则替换为1个
const morePoint = /\.+(\d*|\.+)\./g
if (morePoint.test(num)) {
num = amount
.replace(/\.{2,}/g, ".")
.replace(".", "$#$")
.replace(/\./g, "")
.replace("$#$", ".")
}
console.log(num)
let indexNum = event.currentTarget.dataset.itemIndex;
this.data.OrdersGoods[indexNum].standardPrice =num;
this.data.OrdersGoods[indexNum].subTotal = (this.data.OrdersGoods[indexNum].standardPrice * this.data.OrdersGoods[indexNum].SelNum).toFixed(2);
setTimeout(function () {
that.setData({
OrdersGoods:that.data.OrdersGoods,
})
that.totalPriceFun()
}, 500);
},
网友评论