如何让用户能够按“Enter”来使用 React 进行搜索?

Posted

技术标签:

【中文标题】如何让用户能够按“Enter”来使用 React 进行搜索?【英文标题】:How do I give users the ability to press “Enter” to search using react? 【发布时间】:2018-11-19 20:38:57 【问题描述】:

我想添加通过单击 ENTER 键进行搜索的功能。如何在我的代码中添加它? 这是来自 codecademy 项目

import React,  Component  from 'react';
import './SearchBar.css';

class SearchBar extends Component 
    constructor(props) 
        super(props);
        this.search = this.search.bind(this);
        this.handleTermChange = this.handleTermChange.bind(this);
      

      handleTermChange(event) 
        const newTerm = event.target.value;
        this.setState = ( term: newTerm);
      

      search() 
        this.props.onSearch(this.state.term);
      

    render() 
        return(
        <div className="SearchBar">
            <input placeholder="Enter A Song, Album, or Artist" onChange = this.handleTermChange/>
            <a onClick =this.search>SEARCH</a>
        </div>
        )


export default SearchBar;

【问题讨论】:

***.com/q/31272207 【参考方案1】:

React 为输入实现 onKeyUp 方法

 <input placeholder="Enter A Song, Album, or Artist" onChange=this.handleTermChange onKeyUp=this.handleKeyPress.bind(this)/>

并在你的组件中创建一个方法:

handleKeyPress(e) 
    if (e.key === 'Enter') 
        this.search(); 
    

【讨论】:

以上是关于如何让用户能够按“Enter”来使用 React 进行搜索?的主要内容,如果未能解决你的问题,请参考以下文章

当用户按下 <enter> 或单击计算按钮而不使用两个单独的 def 函数时,如何让 Python3 计算两个数字?

如何让scss变量能够当做js变量来使用

如何在 React 中自动发出 API 请求?

当根据文本框的焦点按下 Enter 键时,如何触发 Button Click 事件?

在 Android 的文字编辑控件 (TEdit) 中, 如何按下 Enter 就隐藏虚拟键盘

如何使用 react-native-testing-library 提交表单或在输入上按 enter 键