Javascript 为什么在react using Semantic UI'中的合成事件上没有“keyCode”值;什么是搜索组件?

Javascript 为什么在react using Semantic UI'中的合成事件上没有“keyCode”值;什么是搜索组件?,javascript,reactjs,event-handling,dom-events,semantic-ui-react,Javascript,Reactjs,Event Handling,Dom Events,Semantic Ui React,我用语义UI的搜索组件创建了一个简单的搜索,如下所示: <Search value={searchString} onSearchChange={onSearchChange} showNoResults={false} size="massive" placeholder="eg. Huberdo" input="text" /> 这是我的问题的一个最起码的例子 问题: <Search value={searchS

我用语义UI的搜索组件创建了一个简单的搜索,如下所示:

<Search
    value={searchString}
    onSearchChange={onSearchChange}
    showNoResults={false}
    size="massive"
    placeholder="eg. Huberdo"
    input="text"
  />
这是我的问题的一个最起码的例子

问题:

<Search
    value={searchString}
    onSearchChange={onSearchChange}
    showNoResults={false}
    size="massive"
    placeholder="eg. Huberdo"
    input="text"
  />
在控制台记录事件时,我找不到有关按下的键代码的任何信息
e.keyCode
未按原样定义
e.charCode

我需要这个,这样我可以提交搜索时,用户点击进入

钥匙代码隐藏在哪里?

根据语义UI文档的定义,func在一个正常的合成react事件中被传递。
e.target.value
正在按预期工作

您可以通过添加一个
onKeyDown
prop:

import React, { useState } from "react";
import ReactDOM from "react-dom";
import { Search } from "semantic-ui-react";

import "./styles.css";

function App() {
  const [searchString, setSearchString] = useState("");

  const handleEnter = e => {
    if (e.keyCode === 13) {
      submit();
    }
  };

  const onSearchChange = (e, data) => {
    setSearchString(e.target.value);
  };

  const submit = () => {
    console.log("submitted");
  };

  return (
    <Search
      value={searchString}
      onSearchChange={onSearchChange}
      showNoResults={false}
      size="massive"
      placeholder="eg. Huberdo"
      input="text"
      onKeyDown={handleEnter}
    />
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
import React,{useState}来自“React”;
从“react dom”导入react dom;
从“语义ui反应”导入{Search};
导入“/styles.css”;
函数App(){
常量[searchString,setSearchString]=useState(“”);
常量handleEnter=e=>{
如果(如keyCode===13){
提交();
}
};
const onSearchChange=(e,数据)=>{
设置搜索字符串(例如目标值);
};
常量提交=()=>{
控制台日志(“已提交”);
};
返回(
);
}
const rootElement=document.getElementById(“根”);
render(,rootElement);

Thx我不知道正常事件也在语义UI组件上起作用,因为它不在他们文档的文档中。谢谢:)对我来说有效的不是按键键而是按键键
onKeyPress
代码始终为0。您可能希望在解决方案中做一点更改。非常感谢你的回答:)@GeraltDieSocke噢,对不起。现在更新!:)