我有一小段代码:
getSearchQuery(evt) {
let query = evt.target.value;
Meteor.subscribe('searchResults', query, function() {
console.log('subscription ready');
});
}
render() {
return (
<TextField
hintText='Hint text'
onChange={this.getSearchQuery.bind(this)}
fullWidth={true}
/>
)
}
在输入中键入第一个字母后,我希望在控制台'预订就绪'输出中,但只有在输入第二个字母后才会显示此输出。换句话说,“订阅就绪”输出延迟到下一个字母输入。
例如,如果搜索字符串为“123”,则键入“123”将导致两个“预订就绪”输出,而我预计会有三个。
有可能以某种方式解决这个问题吗?
答案 0 :(得分:1)
我注意到你正在传递改变道具我建议你使用onKeyPress
看看:https://facebook.github.io/react/docs/events.html#keyboard-events作为纯粹的反应事件,就像订阅就绪日志一样。确保您在发布功能中设置了适当的条件,而不是.length >= 2
到。length > 2
。