【问题标题】:Press Enter button and filter data [duplicate]按 Enter 按钮并过滤数据[重复]
【发布时间】:2020-07-30 21:31:22
【问题描述】:

我正在实现过滤数据功能。以下代码是动态搜索功能。按 Enter 键后有什么方法可以实现显示结果?表示只有按 Enter 键的用户才能看到结果

import React, { Fragment } from "react";
import { TextField, makeStyles } from "@material-ui/core";

const useStyle = makeStyles((theme) => ({
  inputRoot: {
    backgroundColor: "white",
    borderRadius: 10,
  },
  inputInput: {
    padding: theme.spacing(1, 1, 1, 2),
    transition: theme.transitions.create("width"),
    width: "100%",

    [theme.breakpoints.up("md")]: {
      width: 80,
    },
  },
}));
const SearchBox = ({ onSubmit }) => {
  const classes = useStyle();
  const [formData, setFormData] = React.useState({
    keyword: "",
  });
  const { keyword } = formData;
  const handleChange = (keyword) => (e) => {
    setFormData({ ...formData, [keyword]: e.target.value });
  };

  onSubmit(keyword);
  return (
    <Fragment>
      <TextField
        value={keyword}
        placeholder="Search…"
        onChange={handleChange("keyword")}
        className={classes.inputRoot}
        margin="normal"
        size="small"
        autoFocus={true}
       variant="outlined"
      />
    </Fragment>
  );
};

export default SearchBox;

【问题讨论】:

    标签: javascript reactjs


    【解决方案1】:

    您可以使用 onKeyPressevent.key。效果很好。

    handleKeyPress = (event) => {
      if(event.key === 'Enter'){
        onSubmit(keyword)
      }
    }
    
    <TextField onKeyPress={handleKeyPress} />
    

    这里有更多解决方案https://stack-overflow.com/questions/27827234/how-to-handle-the-onkeypress-event-in-reactjs

    【讨论】:

      猜你喜欢
      • 2011-08-08
      • 1970-01-01
      • 2016-10-03
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2018-11-18
      • 2016-10-29
      • 2011-10-16
      相关资源
      最近更新 更多