当单击项目无法执行此操作时。setStateREACT

时间:2019-08-20 13:55:09

标签: javascript reactjs

当我从某人单击某人时,我的表单具有不同的输入(例如下图),如果其他输入已打开,我想关闭它们。

也许有人可以说我的错误在哪里? 谢谢!

我的代码外观:

class SignUp extends Component {
    constructor() {
      super();
      this.state = {
        selectedCode: false,
      };
    }
    componentDidMount() {
      document.addEventListener("click", this.handleClickOutside);
    }
    componentWillUnmount() {
      document.removeEventListener("click", this.handleClickOutside);
    }
    handleClickOutside(e) {
      if (e.target.id !== "code") {
        this.setState({
          selectedCode: false // here is an error
        });
      } else {
        console.log("YES CODE");
      }
    }
render (){
  return (
    <form >
      <input .../> 
      <input id="code" .../>
    </form>
}

1 个答案:

答案 0 :(得分:2)

尝试一下

document.addEventListener("click", this.handleClickOutside.bind(this));