react-native - 如何使用 react-native 规范化 redux-form 以防止更多输入?
问题描述
使用:redux-form@7.3.0
<Field
component={({ input: { onChange }}) => <TextInput onChangeText={onChange} />}
name=‘truncate’
normalize={(value) => value && value.toString().slice(0,2) || ''}
/>
在此截断字段中键入时,显示的值不会被截断。我可以继续输入前两个字符并查看输出。
提交周围表单时,我只看到截断字段值中的前两个字符。
为什么不截断可见输出会阻止更多输入?
根据下面的 Charles 回复,我还尝试了 redux-form 示例页面上显示的电话号码示例;输出未标准化。
尝试重新创建示例中显示的电话规范化最终得到相同的结果 - 显示的字段没有规范化:
解决方案
您可以删除对normalize
道具的使用,并将道具应用maxLength
到您的TextInput
.
例子:
<Field
component={({ input: { onChange }}) => <TextInput onChangeText={onChange} maxLength={2} />}
name="truncate"
/>
或者,您可以尝试将剩余的输入道具传递给您的TextInput
.
例子:
<Field
component={({ input: { onChange, ...remainingProps }}) => <TextInput onChangeText={onChange} {...remainingProps} />}
name="truncate"
normalize={value => value && value.slice(0, 2)}
/>
推荐阅读
- android - 如何检测 Android Room SQLite 本地数据库中的数据库更改
- java - 错误:无法解决:com.android.support:mediarouter-v7:23.4.0
- spring-boot - 如何在 Spring Boot 中检索访问令牌和绕过 CORS 策略
- reactjs - 无法使用 reactjs 解决菜单栏问题?
- r - 如何使用 rtweet->search_fullarchive->place_country: 命令提取特定国家/地区的数据?
- javascript - 如何在 2020 年像在 PHP 中一样简单地格式化 JavaScript 中的日期?
- python - hyperopt - 是否可以获得其搜索空间的当前值?
- sql - 尝试在 sql 中使用 YearFrac
- php - 有没有办法在 WordPress 中设置 add_menu_page() 的样式?
- ios - 在 SwiftUI 中滑动列表时隐藏导航栏