1
input
がクリックされたときにoverlay
ページが表示されています。今度はoverlay
ページのユーザーclicks
のどこかにあるoverlay
のページを削除したいと考えています。どうやってやるの?コンポーネントを削除して反応します
私は私のoverlay
がコンポーネントにQuestionOverlay
class QuestionOverlay extends Component {
constructor() {
super();
}
closeOverLay = (e) => {
alert("fse");
}
render() {
return (
//Here I have implemented my overlay
)
}
}
export default QuestionOverlay;
で、どのように私は私がどこかをクリックするとオーバーレイコンポーネントを削除/閉じることができ、この
constructor(props) {
super(props);
this.state = {
showComponent: false,
};
this.popup_ques = this.popup_ques.bind(this);
}
popup_ques() {
this.setState({
showComponent: true,
});
}
render() {
return (
<div className="ff">
<div className="middle_div">
<input className='post_data_input' placeholder="Ask your question here" ref="postTxt" onClick={this.popup_ques}/>
</div>
{this.state.showComponent ? <QuestionOverlay/> : null}
</div>
);
}
などのクリックでオーバーレイを表示しています私のオーバーレイ?
私は結合 'this.hideOverlay.bind(この)'でコンストラクタを行うには良いだろうと思います。 –
@Brett DeWoody:あなたのアプローチは良いですが、それは私のためには機能しません。私は、クリックイベントが機能するかどうかを知るために警告を挿入しました。それはそうです。問題は、コンポーネントの状態をfalseに変更していないことです。 – CraZyDroiD
三項とは対照的に '{this.state.showComponent && }を試してください。 ' –