我想根据用户输入的计数创建文本字段。我已经经历了很多相关的问题,我找不到我想要的结果。
例如:如果用户输入 5 作为输入.. 我想创建 5 个文本框来输入 5 个人姓名和手机。
我怎样才能做到这一点?
获取计数的文本字段
<GridItem xs={12} sm={12} md={12}>
<TextField
id="sp_Inhouse"
label="Number of Pilots Available "
type="number"
fullWidth
className={classes.textField}
value={this.state.sp_Inhousecount}
error={!!this.state.sp_InhouseError}
helperText={this.state.sp_InhouseError}
onChange={this.handleChangeInhouse}
margin="normal"
required
/>
</GridItem>
尝试根据按钮单击添加文本框。它工作正常。但我想要解释的结果。
<GridItem xs={12} sm={12} md={12}>
<Button color="primary" onClick={this.handleCreatePilots}>
<AddIcon /> Add Pilots
</Button>
{this.state.inhouse.map((index) => {
return (
<div key={index}>
<TextField
id="sp_Name"
label="Name "
type="number"
fullWidth
/>
<TextField
id="sp_Mobile"
label="Name "
type="number"
fullWidth
/>
</div>
)
})
}
</GridItem>
handleCreatePilots=()=>{
this.setState({
inhouse:[...this.state.inhouse,'']
})
}