当前位置: 首页 > 知识库问答 >
问题:

使用React Material UI自动聚焦文本字段

严易安
2023-03-14

我使用材质UI文本字段

我想实现一个自动对焦,我找不到一种方法通过设置autofocus=true而不是通过编程来实现。有什么帮助吗?

共有3个答案

毛胜
2023-03-14

我只是简单地将输入的ref放入状态

然后,您可以将焦点设置为输入的任意位置。

这个。状态类型focus()

许典
2023-03-14

出于某种原因,这对我不起作用(可能是因为它在一个组件中,当顶级组件挂载时不可见)。我不得不做一些更复杂的事情来让它工作:

const focusUsernameInputField = input => {
  if (input) {
    setTimeout(() => {input.focus()}, 100);
  }
};

return (
  <TextField
    hintText="Username"
    floatingLabelText="Username"
    ref={focusUsernameInputField}
  />
)

更多信息见https://github.com/callemall/material-ui/issues/1594.

柏修洁
2023-03-14

您可以这样做:

更多关于这个:https://facebook.github.io/react/docs/tags-and-attributes.html#html-attributes.

 类似资料:
  • 问题内容: 在Mobile Safari中,设置延迟时间后,我无法专注于文本字段。我附上了一些展示此问题的示例代码。如果在单击按钮时触发.focus(),则一切正常。如果您将焦点放在回调(如setTimeout函数)上,则仅在移动浏览器中失败。在所有其他浏览器中,存在延迟,然后出现焦点。 令人困惑的是,即使在移动浏览器中,也会触发“ focusin”事件。这个(和SO中类似的注释)使我认为这是一个

  • 我在寻找一种方法来放弃我的程序中的一个getter。我有一堆动态创建的文本字段: 下面是getter,我想在这里返回聚焦的TextField 处理程序将接收聚焦字段并调用我的“model”-class中的checkInput()方法。 此刻,它接收到一个由我自己设置的预定义字段。检查答案的代码有效。感谢任何帮助我的人,如果我自己找到了一个方法,我一定会把它贴在这里。

  • 问题内容: 我想更改JSpinner的行为,以便在单击文本时将其选中。这样可以更轻松地将字段替换为所需的值。不幸的是,我无法使该行为起作用,它只是将光标插入文本中,而没有选择已经存在的内容。 我曾尝试通过既向JSpinner本身又向文本区域本身添加了一个焦点侦听器,但这些似乎都没有达到预期的效果。我的代码(针对JSpinner本身)如下: 我不确定是什么问题。如果有关系,我正在运行Mac OS 1

  • 这在当前版本的AngularJS中存在吗?我注意到代码中有一个BOOLEAN_ATTR,它获得AngularJS支持的所有attr。我不想修改它,因为害怕改变版本和忘记更新。

  • 我用JavaFX编写了一个应用程序,它只能用于键盘的箭头。所以我在现场的舞台上阻止了MouseeEvent,我“倾听”关键事件。我还关闭了所有节点的聚焦: 现在我有了一些文本字段、复选框和按钮。我想更改输入控件的状态(文本字段,复选框,…)编程:例如,我想输入文本字段以编程方式编辑内容。所以我的问题是:如何输入非焦点可遍历的文本字段?因为textfield。requestFocus();自从我将f

  • 问题内容: 我正在尝试使用React refs在安装时聚焦Redux-Form字段。 当我尝试时,会抛出一个错误: 当我console.log this.refs时,它通常是一个空对象,有时将’title’标识为ref,但它不是可靠的。 我是否正确使用了引用?我的代码在下面供参考。 … 问题答案: 请尝试使用回调函数设置ref: 然后使用它来获取基础的DOM节点: DOM输入元素是否包装在另一个元