1***@163.com
1***@163.com
  • 发布:2022-08-02 16:19
  • 更新:2022-08-03 13:42
  • 阅读:310

input 数字类型限制长度后,一系列问题

分类:uni-app

需求:
1、数字可以整数、小数、负数
2、获取参数 isfloat: 可为小数,isNegative: 可为负数,toFixed 小数位数, 最大长度:maxlength
3、当可为小数是时 小数位数为 toFixed,整数位数为 maxlength - toFixed,需要精确控制整数小数各自最大位数,
当数字为整数时, 整数的最大长度为 maxlength
4、当输入内容不满足条件是 最好禁止键盘输入,或者处理数据也行。

目前处理方式: 使用input type[number] 监听input 事件使用正则进行数据处理。

目前问题:
1、最大长度为5,小数位2 时 输入五个1 然后输入小数点 前面的数据直接被删除了
2、数值为小数时,不能精确控制 整数,小数的位置
3、输入数据之后在处理,当截取数字时,会有写入数字之后再删除的慢动作,不好看

PC端 小数时获取光标位置,加上使用键盘监听,精确控制了整数小数的位数,但是uniapp 里面键盘监听根本不起作用,好像移动端软键盘都是有这个问题,不能监听键盘

有大神处理过类似的问题吗?或者官方人员认为这个可以解决吗?

2022-08-02 16:19 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

  1. 目前input type=number 是可以输入整数,小数和负数的,其他需求为个性化需求,建议自行封装组件实现
  2. 目前问题中:
    2-1. 设置maxlength=5 输入1111. 再输入数字会清空input,问题已确认
    2-2. 没太理解你的问题
    2-3. 未复现该问题
    另:以上均在 h5 端测试,针对未确认问题,请详细描述你的问题,并参考提交Bug模板提供详细信息或可复现demo,谢谢

该问题目前已经被锁定, 无法添加新回复