React:如何让React组件按钮失去焦点?

Chr*_*ris 4 reactjs

当我单击分页按钮时,焦点状态会在页面更新后保留在浏览器中.如何告诉该组件模糊?

这是我调用组件的地方.

<Paginate onClick={this.handleButtonClick.bind(this)} text="Prev"/>
Run Code Online (Sandbox Code Playgroud)

这是组件.

import React, { Component } from 'react';

class Paginate extends Component {
  render() {
    const {text} = this.props;

    return(
      <button onClick={this.props.onClick}>{text}</button>
    )
  }
}

export default Paginate;
Run Code Online (Sandbox Code Playgroud)

Ros*_*nas 9

您需要使用React refAPI.当挂载按钮时,您在本地发送了对其DOM元素的引用,当您单击时,您调用blurDOM API.

查看此处的示例:http: //jsfiddle.net/rtkhanas/af3eau1a/

  • 您不需要增加“ref”的复杂性,您已经通过单击事件获得了对 DOM 元素的引用。`onClick={e =&gt; e.target.blur()}` (3认同)

小智 7

在接受的答案中添加 mrossman 的评论,对我有用的是onClick={(e) => e.currentTarget.blur()}.

  • 在我的例子中有效,通过 ant-design `Button` 进行验证。使用“e.target.blur()”的解决方案在那里_不起作用_。 (2认同)