相关平台
字节跳动小程序
小程序基础库: 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
3条答案
按热度按时间ct2axkht1#
说下 我个人 粗浅 的理解,
Input 组件 中 这个 number type extend "number" | "text" | "idcard" | "digit" , 作用是限定 Input 组件 调起 的键盘 只能输入数字;
至于 value 类型为string 的原因,因为 数据存储统一用字符串方便, 过长的数字 用 number类型 会表现异常
qgelzfjb2#
限制只输入数字,缺陷就是也会出现002这样的情况,不过也算勉强能够接受了
4xrmg8kj3#
限制只输入数字,缺陷就是也会出现002这样的情况,不过也算勉强能够接受了
这种情况 可以通过代码强制修改,效果比如 微信-收付款-二维码收款-设置金额