input价格

2023-12-25  本文已影响0人  糖醋里脊120625
<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);
    
},
上一篇 下一篇

猜你喜欢

热点阅读