Reactjs 为什么没有';t将输入数据保存到内部状态变量<;崩溃>;加入反应
我正在编写一个代码,通过使用react material UI实现垂直折叠。但它不会将输入和文本字段值设置到状态变量中。请帮我找出我做错了什么。提前谢谢 下面是用于处理输入更改的函数Reactjs 为什么没有';t将输入数据保存到内部状态变量<;崩溃>;加入反应,reactjs,collapse,Reactjs,Collapse,我正在编写一个代码,通过使用react material UI实现垂直折叠。但它不会将输入和文本字段值设置到状态变量中。请帮我找出我做错了什么。提前谢谢 下面是用于处理输入更改的函数 handleOnChange = async (event) => { const field = event.target.name; if (field === "Announcement") { if (this.isMount) {
handleOnChange = async (event) => {
const field = event.target.name;
if (field === "Announcement") {
if (this.isMount) {
await this.setState({
announcement: event.target.value,
isFormDirty: true,
});
}
}
if (field === "Title") {
if (this.isMount) {
await this.setState({
title: event.target.value,
isFormDirty: true,
});
}
}
};
我的render()函数的一部分
<form>
<div>
<ListItem button onClick={this.handleClickAnnouncement}>
<ListItemAvatar>
<Avatar>
<NotificationImportant/>
</Avatar>
</ListItemAvatar>
<ListItemText primary="Announcements"/>
{this.state.ListAnnouncementOpen === true ? <ExpandMore/> : <ExpandLess/>}
</ListItem>
<Collapse in={this.state.ListAnnouncementOpen} timeout="auto" unmountOnExit>
<div className="row" className = "ml-3" >
<label htmlFor="" className="mandatory">
Title :
</label>
<Input
placeholder="Title"
value={this.state.title}
name="Title"
onChange={this.handleOnChange}
required={true}
/>
</div>
<div className="row ml-3">
<TextField
id="standard-multiline-flexible"
label="Type new Announcement here"
onChange={this.handleOnChange}
className="course-detail-section"
name="Announcement"
required={true}
value={this.state.announcement}
/>
<Avatar onClick={this.addAnnouncement}>
<AddIcon/>
</Avatar>
</div>
</Collapse>
</div>
</form>
{this.state.ListAnnouncementOpen==true?:}
标题:
您在哪里设置此.isMount
以及为什么在您的handleChange上有条件设置?Fwiw,您不需要将处理更改设置为异步,非常感谢。这正是我做错的。我删除了该条件并进行了异步。现在它工作得很好。再次感谢。您很好。您在哪里设置这个.isMount
以及为什么您的手上有条件更改?Fwiw,您不需要将处理更改设置为异步,非常感谢。这正是我做错的。我删除了该条件并进行了异步。现在它工作得很好。再次感谢,不客气