如何专注于第一个输入字段 - redux-form

时间:2017-03-25 12:31:22

标签: javascript redux react-redux redux-form

我正在尝试以任何形式设置第一个输入字段以进行聚焦。那么,实现这样的事情的最佳做法是什么?我怎么能检查字段的类型?是文本,数字,复选框等吗?

是通过收听@redux-form操作,然后发送焦点操作吗?

任何人都可以提出解决方案吗?

4 个答案:

答案 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 /> )

}

Here is the Github issue link

您当然可以提供autoFocus道具作为field.input密钥。

答案 2 :(得分:0)

在React文档中有一个很好的例子:https://facebook.github.io/react/docs/refs-and-the-dom.html

答案 3 :(得分:0)

如果你想使用无状态功能组件,refs对你没有好处。 我的解决方案是将第一个= {true}道具传递给Field并在组件内部检查它。它存在然后在输入字段上设置autoFocus。