Javascript 为什么在react using Semantic UI'中的合成事件上没有“keyCode”值;什么是搜索组件?
我用语义UI的搜索组件创建了一个简单的搜索,如下所示: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
<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噢,对不起。现在更新!:)