reactjs - 如何在 React-Native 中实现输入文本屏蔽?
问题描述
需要掩码:90.99%,其中:9 - 可选数字 0 - 需要 %,。- 相关字符 '%' 和 '.'
例如: 输入/结果
1 ---> 1%
12 ---> 12%
12.1 ---> 12.1%
12.12 ---> 12.12%
我正在使用redux-form
我已经尝试过react-native-text-input-mask和react-native-masked-text,但是,这些包中没有类似的功能(在第一个包中有类似的东西,但是 '%' 正确显示仅当它在数字之前使用但这个字符应该在之后)
解决方案
这里最好的方法是在输入本身旁边提供掩码。这在很大程度上取决于您如何使用 Field 组件(您甚至使用它吗?)。
您可以尝试使用format
Field 上的道具。
或者您可以提供自己的组件来呈现字段并提供自己的格式功能:
const renderPercentagedInput = (field) => {
function onChange(evt) {
const value = evt.target.value;
const numbers = value.replace(/[^0-9.,]/g, '')
field.input.onChange(numbers + '%')
}
return (
<TextInput
{...field.input}
onChangeText={onChange}
/>
);
}
推荐阅读
- javascript - angular-maps (X-map) 多层标记动态更新
- node.js - Node.js:无法读取未定义的属性“productId”
- html - 混合内容与 GitHub 页面
- python - 如何使用 Python 和 OpenCV 实现 BRISK 来检测特征?
- c++ - FIFO 行为和快速按值查找的数据结构
- php - 用 incron 监视文件夹似乎会杀死我的服务器
- reactjs - Apollo 钩子 useQuery 和 useMutation 在同一个组件下
- gradle - Gradle fatJar:如果我的主类在测试文件夹中,我得到类未找到错误,如果主类在 src/main/java 中,则工作正常
- r - 如何在多个字符串列表中查找匹配值?
- python - 如何通过 iPython 访问 Flask 应用程序的应用程序库?