redux 形式的字段规范化

Field Normalizing in redux form

我正在做我正在使用 redux-form 的项目。我想规范化 redux-form 字段。我想实现大写单词规范化意味着当用户输入某些内容时它会自动将每个单词大写,即(例如)。在这里它与示例一起工作正常,但如果用户想要输入,我想大写完整的单词。假设用户类型 ( I Love Whosebug )。然后我想把每个单词都大写,也考虑是否有人用大写输入完整的单词。

谢谢

代码

这样的事情怎么样?

const input = "i love Whosebug"
const words = input.split(" ")
const capitalized = words.map(word => word.charAt(0).toUpperCase() + word.slice(1))
const result = capitalized.join(" ")
console.log(result)

或使用 lodash https://lodash.com/docs/4.17.15#upperFirst

来自 redux-formField 组件有一个 normalize 属性。

This example 直接来自听起来与您想要的一致的文档。这是一个缩写版本:

// somewhere outside form or component
const upper = value => value && value.toUpperCase()

// somewhere in your form
<Field
  name="shout"
  component="input"
  type="text"
  placeholder="Shout something!"
  normalize={upper}
/>