Javascript 在Press上添加了一个道具,因为我正在调用一个事件handleEvent。但方法内部没有任何打印 我正在尝试实现一个类似于google flights的文本框 所以我建立了一个react自动完成原型 但在这方面,我面临一个问题 现在在google flights文本框中,当我点击文本框时,它会显示所有的结果,而无需输入任何内容 但在我的例子中,如果我只键入一些内容,它将显示结果 所以我在文本框中添加了一个props on press,我调用了一个event handleEvent 但是在方法内部没有打印 你能告诉我如何实现这一目标,以便将来我自己解决它吗 下面提供我的代码片段和沙盒

Javascript 在Press上添加了一个道具,因为我正在调用一个事件handleEvent。但方法内部没有任何打印 我正在尝试实现一个类似于google flights的文本框 所以我建立了一个react自动完成原型 但在这方面,我面临一个问题 现在在google flights文本框中,当我点击文本框时,它会显示所有的结果,而无需输入任何内容 但在我的例子中,如果我只键入一些内容,它将显示结果 所以我在文本框中添加了一个props on press,我调用了一个event handleEvent 但是在方法内部没有打印 你能告诉我如何实现这一目标,以便将来我自己解决它吗 下面提供我的代码片段和沙盒,javascript,html,reactjs,redux,material-ui,Javascript,Html,Reactjs,Redux,Material Ui,handleEvent=()=>{ log(“我被点击”); 警惕(“我被点击”); }; render(){ 常数{ 一旦改变, onClick, onKeyDown, 声明:{ 积极的建议,, 过滤建议, 建议,, 用户输入 } }=这个; 让SuggestionListComponent; if(显示建议和用户输入(&U){ if(filteredSuggestions.length){ SuggestionListComponent=( {filteredSuggestions.map

handleEvent=()=>{
log(“我被点击”);
警惕(“我被点击”);
};
render(){
常数{
一旦改变,
onClick,
onKeyDown,
声明:{
积极的建议,,
过滤建议,
建议,,
用户输入
}
}=这个;
让SuggestionListComponent;
if(显示建议和用户输入(&U){
if(filteredSuggestions.length){
SuggestionListComponent=(
    {filteredSuggestions.map((建议,索引)=>{ 让类名; //用类标记活动建议 如果(索引===activeSuggestion){ className=“建议活动”; } 返回(
  • {建议}
  • ); })}
); }否则{ SuggestionListComponent=( 没有建议,你只能靠自己了! ); } } 返回( {SuggestionListComponent} ); }
我认为这是因为在初始状态下,您已经编写了

this.state = {
  activeSuggestion: 0,
  filteredSuggestions: [],
  showSuggestions: false,
  userInput: '',
};
然后你就跑

if(showSuggestions&&userInput)
但在初次单击时,userInput仍然等于
'
,这等于false。再次在下面运行
if(filteredSuggestions.length)
,它也等于0,因为当没有键入任何内容时,数组filteredSuggestions为空

console.log(''==true)
=>
false

console.log([].length==true)
=>
false

HTML中没有
onPress
事件。你是说?试着聚焦而不是onPress@aseferov嘿,即使我使用了onFocus,我仍然无法在文本框中显示结果,在这里提供我的更新代码@aseferov嘿,仅用于onFocus为什么我们在handleEvent之前使用这个,但不是其他的方法…如果你能让我知道,那就太好了…这样我就可以知道为什么我们要在handleEvent之前使用它,但对于其他方法,则不适用……如果您让我知道,那就太好了……这样我就可以了解您的延迟响应……我检查了您的代码更改,发现您在componentDidMount中进行了更改,并添加了此if条件if(this.state.active){,您能对您的代码更改给出注释吗?很难理解:(嘿,我又看了一遍你的代码更改…仍然不起作用…你能帮忙吗
this.state = {
  activeSuggestion: 0,
  filteredSuggestions: [],
  showSuggestions: false,
  userInput: '',
};