使用: 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示例页面上显示的电话号码示例;输出没有标准化。
尝试重新创建示例中显示的电话规范化最终会得到相同的结果 - 显示的字段没有规范化:
答案 0 :(得分:0)
您可以移除对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)}
/>