[英]Closing Modal after clicking submit
I am learning React and right now I have a modal that loads automatically when you get to the site.我正在学习 React,现在我有一个模式,当你到达网站时会自动加载。 I am able to input a name, click submit and then the name appears on the landing/homepage.
我可以输入一个名字,点击提交,然后这个名字就会出现在登陆/主页上。 However, the modal does not go away.
但是,模态不会 go 掉。 I would like for it to close out after inputting a name and then clicking submit.
我希望它在输入名称然后单击提交后关闭。 How should I go about that?
我应该如何 go 关于那个?
import React from 'react';
import {Link} from "react-router-dom";
import Modal from './Modal';
class HomePage extends React.Component {
constructor(props){
super(props);
this.state = {
showModal: true,
firstName: '',
submittedName: ''
};
}
inputChange = e => {
const firstName = e.target.value;
this.setState(() => ({ firstName }));
};
displayNameHandler = () => {
this.setState(prevState => ({ submitedFirstName: prevState.firstName }));
};
render(){
const { showModal } = this.state;
return (
<div>
{
showModal ? (
<div className="my-modal">
<h1>Welcome to my app!</h1>
<p>Please enter your name</p>
<form>
<label>
Name:
<input type="text" name="firstName" onChange={this.inputChange} ></input>
</label>
<button type="button" onClick={this.displayNameHandler}>
Submit
</button>
</form>
</div>
) : null
}
<h1>Welcome, {this.state.submitedFirstName && this.state.submitedFirstName}</h1>
<p>Please select a category </p>
<Link to="/ProgrammingJokes">
<button>Programming Jokes</button>
</Link>
<Link to="/DadJokes">
<button>Dad Jokes</button>
</Link>
<Link to="/SportsJokes">
<button>Sports Jokes</button>
</Link>
</div>
)
}
}
export default HomePage;
You should set your showModal
state to false
when the submit
handler is fired.当
submit
处理程序被触发时,您应该将showModal
state 设置为false
。
displayNameHandler = () => {
this.setState(prevState => ({ submitedFirstName: prevState.firstName, showModal:false}));
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.