taro input 组件 value 问题

sirbozc5  于 5个月前  发布在  其他
关注(0)|答案(3)|浏览(57)

相关平台

字节跳动小程序

小程序基础库: 3.3.7
使用框架: React

复现步骤

支持设置 input 的 type 为 number,但 value 只可以是 string 类型,这不是矛盾吗

期望结果

支持 value 为 number 类型

实际结果

只能是 string 类型

环境信息

Taro v3.3.5

  Taro CLI 3.3.5 environment info:
    System:
      OS: macOS 11.3.1
      Shell: 5.8 - /bin/zsh
    Binaries:
      Node: 14.17.1 - /usr/local/bin/node
      Yarn: 1.22.15 - ~/.yarn/bin/yarn
      npm: 7.18.1 - /usr/local/bin/npm
    npmPackages:
      @tarojs/cli: ^3.3.0 => 3.3.9 
      @tarojs/components: ^3.3.7 => 3.3.9 
      @tarojs/mini-runner: 3.3.0 => 3.3.0 
      @tarojs/react: 3.3.0 => 3.3.0 
      @tarojs/runtime: 3.3.0 => 3.3.0 
      @tarojs/taro: 3.3.0 => 3.3.0 
      @tarojs/webpack-runner: 3.3.0 => 3.3.0 
      babel-preset-taro: 3.3.0 => 3.3.0 
      eslint-config-taro: 3.3.0 => 3.3.0 
      react: ^17.0.0 => 17.0.2 
      taro-ui: 3.0.0-alpha.10 => 3.0.0-alpha.10 
    npmGlobalPackages:
      typescript: 4.3.4
ct2axkht

ct2axkht1#

说下 我个人 粗浅 的理解,
Input 组件 中 这个 number type extend "number" | "text" | "idcard" | "digit" , 作用是限定 Input 组件 调起 的键盘 只能输入数字;
至于 value 类型为string 的原因,因为 数据存储统一用字符串方便, 过长的数字 用 number类型 会表现异常

qgelzfjb

qgelzfjb2#

限制只输入数字,缺陷就是也会出现002这样的情况,不过也算勉强能够接受了

4xrmg8kj

4xrmg8kj3#

限制只输入数字,缺陷就是也会出现002这样的情况,不过也算勉强能够接受了

这种情况 可以通过代码强制修改,效果比如 微信-收付款-二维码收款-设置金额

相关问题