我正在尝试以任何形式设置第一个输入字段以进行聚焦。那么,实现这样的事情的最佳做法是什么?我怎么能检查字段的类型?是文本,数字,复选框等吗?
是通过收听@redux-form
操作,然后发送焦点操作吗?
任何人都可以提出解决方案吗?
答案 0 :(得分:2)
使用此方法,您可以每次配置autoFocus
。
<Field component={renderFirstInput} autoFocus={true/false} />
const renderFirstInput = ({ autoFocus }) => {
return ( <input autoFocus={autoFocus} /> )
}
答案 1 :(得分:1)
我认为对于 redux-form (v6 +),当前的艺术状态是为autoFocus
提供您希望自动关注的<input />
属性。
示例:
<Field component={renderFirstInput} type="text" />
const renderFirstInput = field => {
return ( <input {...field.input} autoFocus /> )
}
您当然可以提供autoFocus
道具作为field.input
密钥。
答案 2 :(得分:0)
在React文档中有一个很好的例子:https://facebook.github.io/react/docs/refs-and-the-dom.html
答案 3 :(得分:0)
如果你想使用无状态功能组件,refs对你没有好处。 我的解决方案是将第一个= {true}道具传递给Field并在组件内部检查它。它存在然后在输入字段上设置autoFocus。