React-ref(2)

一、重新设置键盘焦点到指定按钮上:

// 我们先在一个 class 组件的 JSX 中创建一个元素的 ref:
class CustomTextInput extends React.Component {
  constructor(props) {
    super(props);
    // 创造一个 textInput DOM 元素的 ref
    this.textInput = React.createRef();
  }
  render() {
  // 使用 `ref` 回调函数以在实例的一个变量中存储文本输入 DOM 元素
  //(比如,this.textInput)。
    return (
      <input
        type="text"
        ref={this.textInput}
      />
    );
  }
}

// 然后我们就可以在需要时于其他地方把焦点设置在这个组件上:
focus() {
  // 使用原始的 DOM API 显式地聚焦在 text input 上
  // 注意:我们通过访问 “current” 来获得 DOM 节点
  this.textInput.current.focus();
}

二、父组件需要把焦点设置在其子组件的一个元素上:

       我们可以通过在子组件上设置一个特殊的 prop 来对父组件暴露 DOM refs 从而把父组件的 ref 传向子节点的 DOM 节点。

发布了35 篇原创文章 · 获赞 1 · 访问量 6718

猜你喜欢

转载自blog.csdn.net/qq_36162529/article/details/103005639
今日推荐