javascript - ReactJS 无法让输入自动对焦工作

标签 javascript reactjs

探索 ReactJS 并尝试创建一个名为“TextField”的基本组件。如果 focus 属性存在,则该字段应该在组件安装后设置焦点。我有以下代码,但我无法找出为什么设置焦点不起作用:

import React, { Component } from "react";
import "./inputs.css";

export const TextField = class TextField extends Component {
    constructor(props){
        super(props);
        this.myRef = React.createRef();
    }
    componentDidMount(){
        if(this.props.focus){      
            this.myRef.current.focus();
        }
    }
    render(){
        var errid = this.props.id + "_errmsg";
        var labelStyle = "w3-label-font";
        var inputStyle = "w3-input w3-border w3-light-grey w3-round";
        return(
            <div>
                <label className={labelStyle}><b>{this.props.label}</b></label>
                <input className={inputStyle} type={this.props.type} id={this.props.id} name={this.props.name} ref={this.myRef}/>
                <div id={errid} className="error-msg"></div>
            </div>
        );
    };
}

最佳答案

您只需将 autoFocus 添加到您想要自动聚焦的输入即可。

 <input autoFocus />

关于javascript - ReactJS 无法让输入自动对焦工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57402206/

相关文章:

reactjs - 已回答 Uncaught TypeError : state. concat is not a function 错误

reactjs - 测试用 typescript 编写的自定义 react 钩子(Hook)

javascript 恢复样式

javascript - 正则表达式不转义特殊字符

javascript - 导入 react 引导模式崩溃 react 应用程序

reactjs - 无法与 Looker 主机建立通信

ios - 有没有办法从 React Native 中的 chrome 控制台重新加载设备,这样我就不必不断地摇动它?

javascript - 如何在任何 XMLHttpRequest 完成时运行函数?

JavaScript <form> 输入字段 "associative"数组?

javascript - 如何在使用 JavaScript 刷新页面时更改图像?