猿问

weex input如何实现保留两位小数?

weex input如何实现保留两位小数?


用了vue官网demo


// 不是直接更新值,而是使用此方法来对输入值进行格式化和位数限制

    updateValue: function (value) {

      var formattedValue = value

        // 删除两侧的空格符

        .trim()

        // 保留 2 位小数

        .slice(

          0,

          value.indexOf('.') === -1

            ? value.length

            : value.indexOf('.') + 3

        )

      // 如果值尚不合规,则手动覆盖为合规的值

      if (formattedValue !== value) {

        this.$refs.input.value = formattedValue

      }

      // 通过 input 事件带出数值

      this.$emit('input', Number(formattedValue))

    }

发现并不好用,试了好几种方式,在weex上都没有生效。。。


今天试了试这样:


this.$nextTick(() => {

    this.endNum = this.updateValue(event.value);

    event.value = this.endNum;

  });


    updateValue(value) {

          var formattedValue = value

            // 删除两侧的空格符

            .trim()

            // 保留 2 位小数

            .slice(

              0,

              value.indexOf('.') === -1

                ? value.length

                : value.indexOf('.') + 3

            )


            return formattedValue;

        }

发现能截取两位小数了。但是截取的时候会闪一下,即被截取的那个数字先显示了一下又消失的那个闪的动作,这该怎么搞


慕容森
浏览 624回答 1
1回答

鸿蒙传说

js有个方式保留小数点后面的位数:const floatNumber = 3.4523const twoDecimal = floatNumber.toFixed(2)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答