当前位置: 首页 > 面试题库 >

ReactJS-是否可以通过按内部的Enter键来触发方法?

武博艺
2023-03-14
问题内容

仅使用onChange和值,并集中在<input/>(最好没有jQuery的)内部时,是否可以通过按Enter键来触发方法?因为,只希望用户按下“ Enter”键才能更新name字符串状态。

这是代码:

  constructor(props) {
    super(props);

    this.state = {
      name: '',
    }
  }

  textChange(event) {
    this.setState({
      name: event.target.value,
    })
  }

  //Would like to trigger this once 'Enter' key is pressed while focused inside `<input/>`
  enterPressed() {
    var name = this.state.name;
  }

  render() {
    return (
        <input
          placeholder='Enter name'
          onChange={this.textChange.bind(this)}
          value={this.state.name}
        />
    )
  }

问题答案:

您可以做的是使用React的关键事件,如下所示:

<input
    placeholder='Enter name'
    onChange={this.textChange.bind(this)}
    value={this.state.name} 
    onKeyPress={this.enterPressed.bind(this)}
/>

现在,要检测回车键,请将enterPressed功能更改为:

enterPressed(event) {
    var code = event.keyCode || event.which;
    if(code === 13) { //13 is the enter keycode
        //Do stuff in here
    } 
}

因此,这是向输入元素添加事件侦听器。请参阅React的键盘事件。enterPressed然后,该函数在发生事件时被触发,现在enterPressed检测到键码,如果是13,则执行一些操作。

这是展示事件的小提琴。

注:该onKeyPress和onKeyDown事件的即时触发用户按下。您可以onKeyUp用来解决这个问题。



 类似资料:
  • 问题内容: 我正在为我的数据库开发GUI设计。 在设计了大多数框架并对其进行调试之后,我释放了我需要使用 ENTER 键(而不是仅单击它)将选项添加到“触发”按钮。 我应该怎么做?我当前正在为按钮使用 MouseListener ,并希望添加一个在按下ENTER键时执行相同操作的Listener。谢谢 问题答案: 使用Enter键调用按钮的动作是LAF问题。Windows支持该功能,但是在默认的M

  • 问题内容: 出于某种原因,每当我在循环使用时按一下该键,此后的代码将立即执行两次。如果不在循环中,它将执行一次!为什么是这样? 这是一个测试它的代码片段: 问题答案: 发生这种情况的原因是,当您按Enter键时,System.in.read()将注册两个字符。应该将其用作扫描仪的更复杂版本,而不是使用扫描仪来执行Scanner.nextLine()或Scanner.nextInt()来返回字符串或

  • 我已经为项目中的多个Jtextfields编写了代码,并为每个字段使用了Enter Key的KeyPressed事件。现在我使用一个触摸监视器。 现在我想使用一个按钮,通过按键盘上的回车键来做同样的事情。 (不想要grabfocus()或任何其他解决方案。只想知道有什么方法可以通过代码按回车键并运行我编码的每个字段的代码。)示例字段 下面是一个示例框架。 如果我的光标在字段1上,我想运行我在中使用

  • 我是个新手,学习面向对象的Java。我有一个关于通过调用方法为多个数组添加元素的问题。我只是试图避免多次创建循环,对于多个数组,我想创建一个方法,它将包含必要的循环来添加元素(甚至将它们显示为输出),这样我就可以在需要的时候调用它。希望你明白我想说的话。请原谅我的英语不好。

  • 问题内容: 我正在构建一个React应用,并正在调用一个自定义处理程序库来调用我们的REST API。 在这些(非响应)函数中,我想触发Redux操作以使用端点响应来更新商店,但是如果没有通常的’mapDispatchToProps’/ connect()方法,就无法弄清楚如何触发Redux操作。 这可能吗? 谢谢 问题答案: 为了从您的范围之外进行调度和采取行动,您需要获取商店实例并像这样调用它

  • 问题内容: 我正在学习ReactJs,真的很喜欢。我想问一下我们是否可以按类名呈现虚拟DOM以进行文档记录。 我试图通过 getElementByClassName(’class’) 作为react的render方法的第二个参数,它不起作用。React是否仅将DOM呈现给ID唯一的节点,还是有一种使用类的节点的解决方法? 问题答案: 看来您使用了错误的方法。 可能您应该使用而不是。并且不要忘记返回