收藏
回答

小程序input 如何设置最大数字

小程序input 如何设置最大数字  输入比如最大 18 输入18 以上 不会改变

最后一次编辑于  01-23  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

4 个回答

  • var 友原
    var 友原
    01-25

    加个setTimeout试试,1s不行就两秒,两秒不行就三秒,总有一个能测出问题,再不行先清空再赋值,一步一步来总能找到是组件问题还是逻辑问题的

    01-25
    赞同 1
    回复
  • 杨泉
    杨泉
    01-23

    bindinput里面处理一下


    一旦发现输入大于18,就直接return 18,也就是把输入框替换成18

    这样更合乎逻辑一下,如果大于18就不让输了,很奇怪的

    01-23
    赞同 1
    回复 5
    • EobardThwane
      EobardThwane
      01-23

      <wux-input extra="充值号码" type="number"  value="{{value}}" bind:change="number"></wux-input>

      data: {

      max:18.35,

      value:''

      },

      number:function(e){

      var that=this;

      var num = that.data.max;


      var nun = e.detail.value;


      console.log(num);

      console.log(nun);

      if (num < nun){

      that.setData({

      value: num

      })

      }else{

      that.setData({

      value: nun

      })

      }


      },


      01-23
      回复
    • ==
      ==
      01-23回复EobardThwane

      没复现。。我测试了一下

      01-23
      回复
    • EobardThwane
      EobardThwane
      01-23回复==

      意思我现在输入的数字是 19  最大值 是 18.5 所以我把 data 的value值 改成18.5 前台input 框 value绑定的 data中的value  ,但是 他还显示19

      01-23
      回复
    • ==
      ==
      01-23回复EobardThwane

      对呀,,我输入值20.     他会改变成18.5。。没复现啊,,我这里是可以的

      01-23
      回复
    • EobardThwane
      EobardThwane
      01-23回复==

      MMP 这是这个组件的问题  蛋疼

      01-23
      回复
  • 飘落的叶
    飘落的叶
    01-23

    监听change事件

    楼上的回答是正解

    如果很多的话,可以用自定义组件封装一下

    01-23
    赞同
    回复
  • ==
    ==
    01-23

    监听到用户输入的数字大于18 就还原!

    01-23
    赞同
    回复 1
    • EobardThwane
      EobardThwane
      01-23

      如何让他大于后 赋值给他最大值 我给

      value="{{value}}"  

      var that=this;

      var num = that.data.max;

      var nun = e.detail.value;

      if (num < nun){

      that.setData({

      value: num

      })

      }else{

      that.setData({

      value: nun

      })

      }

      这样 value值虽然和最大值一样 但是没有刷到页面上


      01-23
      1
      回复