据我了解,onFocus
应该在输入框被点击onBlur
时调用,当其他东西成为焦点时应该调用。
我的意图:我想调用一个函数,当单击激活时,它会.concat
在焦点中显示输入框的消息字符串,但我无法使用onFocus
oronBlur
工作。
从我搜索的结果来看,这应该可以解决问题,但事实并非如此。
import React, { Component } from 'react'
class SocialPost extends Component {
state = {
message: this.props.socialPost.message,
focus: false
}
_onBlur() {
setTimeout(() => {
if (this.state.focus) {
this.setState({
focus: false,
});
}
}, 0);
}
_onFocus() {
if (!this.state.focus) {
this.setState({
focus: true,
});
}
}
render() {
return (
<div className='...'>
<div className='...'>
...
<input
onFocus={this._onFocus()}
onBlur={this._onBlur()}
type='text'
value={this.state.message}
onChange={...}/>
...
</div>
</div>
)
}
}
export default SocialPost
- 为什么
onFocus
和onBlur
在之前我点击/取消勾选这些组件被渲染叫什么名字? - 我如何获得这个
onFocus
并onBlur
工作,是否有另一种方法可以专注于激活的输入框?