input自动聚焦问题

在react中可以使用refs解决这个问题,首先看一下refs的使用场景:

(1)处理焦点、文本选择或媒体控制。

(2)触发强制动画。

(3)集成第三方 DOM 库。

使用refs解决input聚焦的问题有两种应用场景:

1、组件内部:

在input内部定义ref,当给 HTML 元素添加 ref 属性时,ref 回调接收了底层的 DOM 元素作为参数。例如,下面的代码使用 ref 回调来存储 DOM 节点的引用。

class CustomTextInput extends React.Component {
constructor(props) {
super(props);
this.focus = this.focus.bind(this);
} focus() {
// 直接使用原生 API 使 text 输入框获得焦点
this.textInput.focus();
} render() {
// 使用 `ref` 的回调将 text 输入框的 DOM 节点存储到 React
// 实例上(比如 this.textInput)
return (
<div>
<input type="text" ref={(input) => { this.textInput = input; }} />
<input
type="button"
value="Focus the text input"
onClick={this.focus}
/>
</div>
);
}
}

2、父子组件:

子组件内input定义为:

  import React from 'react';

    class Input extends React.Component {
constructor(props){
super(props);
}; render() {
return <input type="text" ref={this.props.inputRef}/>;
}
} export default Input;

父组件调用方法:

<Input name="中文姓" id="surname" placeholder="与身份证一致" inputRef={el => this.surname = el}/>

componentDidMount() {
this.surname.focus();
}

最新文章

  1. 基站查询接口,基站查询API
  2. SSH新学
  3. HTML之表格制作
  4. mono+jexus 验证码不显示:System.Drawing
  5. MySQL日志概述
  6. ios开发之代理&amp;&amp;协议(补充篇)
  7. Swift--集合类型 数组 字典 集合
  8. 笔记:Struts2 国际化
  9. 数字化IT人才与组织
  10. ASP.NET上传大文件报错,IIS7.0
  11. webstorm 2017 激活破解方法大全
  12. 使用命名管道的OVERLAPPED方式实现非阻塞模式编程 .
  13. c# group by list
  14. HTML5 Storage(永久存储)
  15. json批量设置DIV属性
  16. nginx为什么性能这么优越?
  17. 分布式数据库中间件Mycat百亿级数据存储(转)
  18. win7利用winSCP上传文件到ubuntu server
  19. OC之block 和协议
  20. Python3.x:定时自动发送邮件

热门文章

  1. kernel笔记——进程调度
  2. 强大的scrollReveal库,炫酷的页面缓入效果。
  3. 专治编译器编辑器vscode中文乱码输出 win10 配置系统默认utf-8编码
  4. Arduino内部网页代理,网页穿透,公网访问Arduino内部网页
  5. find mtime参数+号,-号,不带符号的用法
  6. 数据规范化——sklearn.preprocessing
  7. Redtiger SQL注入练习(二)
  8. auth模块用户认证
  9. 【Android】pidcat 不显示日志输出
  10. JS--编码规范