Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取动态创建的输入并在React中选择值?_Javascript_Reactjs_Redux - Fatal编程技术网

Javascript 如何获取动态创建的输入并在React中选择值?

Javascript 如何获取动态创建的输入并在React中选择值?,javascript,reactjs,redux,Javascript,Reactjs,Redux,在这里,我创建了一个表单模板,其中一些部分是动态创建的。 在父组件中,我们有一个输入标记。它有一个输入标签,动态创建的选择和输入,使用+按钮填充,从-按钮移除 我通过调用函数,使用+按钮将数据提取到redux存储。 最后一个值未更新为存储的结果, 我无法在表单所有动态元素值的提交按钮上使用它 那么,是否有任何方便的方法将动态元素值提取到父组件 > <h3>Marks Detail</h3> {detail.marks.map(generateMark => {

在这里,我创建了一个表单模板,其中一些部分是动态创建的。 在父组件中,我们有一个输入标记。它有一个输入标签,动态创建的选择和输入,使用+按钮填充,从-按钮移除

我通过调用函数,使用+按钮将数据提取到redux存储。 最后一个值未更新为存储的结果, 我无法在表单所有动态元素值的提交按钮上使用它

那么,是否有任何方便的方法将动态元素值提取到父组件

> <h3>Marks Detail</h3> {detail.marks.map(generateMark => {
>     return (
>         <MarkList
>             key={generateMark.id}
>             id = {generateMark.id}
>             subject={generateMark.subject}
>             markObtained={generateMark.markObtained}
>             studentId={detail.studentId}
>             semester = {this.state.semester.value}
>             editMarkMode = {this.state.editMarkMode}
>             stateSubject = {this.props.selectValue}
>         />
>     ) })} <div className="row justify-content-center">
>     <button className="btn btn-outline-primary my-3">Save Marks</button> </div
>标记细节{Detail.Marks.map(generateMark=>{
>返回(
>key={generateMark.id}
>id={generateMark.id}
>subject={generateMark.subject}
>markgoverted={generateMark.markgoverted}
>studentId={detail.studentId}
>学期={this.state.sembert.value}
>editMarkMode={this.state.editMarkMode}
>stateSubject={this.props.selectValue}
>         />
>     ) })} 
>保存标记类标记列表扩展组件{
>状态={
>主题:{
>值:“”,
>感动:错,,
>有效:假
>         },
>已获得:{
>值:“”,
>感动:错,,
>有效:假
>         },
>有效:对
>     }
>     
>     
>主题:
>         
>         
>选择主题
>物理学
>数学
>化学
>经济学
>征税
>帐目
>道德价值观
>历史
>         
> 
>type=“编号”
>占位符=“标记”
>value={this.state.markgovered.value}
>onChange={this.inputMarkHandler}/>
> 
>         +
>         -
>)}}const mapStateToProps=state=>{return{
> 
>}}const mapDispatchToProps=dispatch=>{return{
>onAddButtonHandler:(学期、学生id、id、科目、分数)
>=>{dispatch(markAction.addButtonHandlerInit(学期,学生id,id,科目,markgovered))},onSubractButtonHandler:(学生id)=>
>{dispatch(markAction.subractButtonHandlerInit(studentId,id))}}
>导出默认连接(MapStateTrops、mapDispatchToProps)(标记列表)
现在我想获取创建的动态元素的值。 在我的父元素中

> class MarkList extends Component {
>     state = {
>         subject: {
>             value: "",
>             touched: false,
>             valid: false
>         },
>         markObtained: {
>             value: "",
>             touched: false,
>             valid: false
>         },
>         isValid : true
>     }

>     <div className="form-row Input justify-content-between align-items-center ">
>     <div className="col-md-12 mb-1 form-inline justify-content-between ">
>         <label className="col-2 mb-2">Subject :</label>
>         
>         <select className={inputClasses.join(' ')} onChange={this.selectSubject} value={this.state.subject.value}>
>             <option value="" disabled >Select Subject</option>
>             <option value="Physics"> Physics</option>
>             <option value="Mathamatics"> Mathamatics</option>
>             <option value="Chemistry">Chemistry </option>
>             <option value="Economics"> Economics</option>
>             <option value="Taxation"> Taxation</option>
>             <option value="Accounts">Accounts </option>
>             <option value="Moral Values">Moral Values </option>
>             <option value="History">History </option>
>         </select>
> 
>         <input className={inputClass.join(' ')} 
>         type="number" 
>         placeholder="Marks" 
>         value={this.state.markObtained.value} 
>         onChange={this.inputMarkHandler} />
> 
>         <button className="btn btn-outline-primary mb-2 col-1" onClick={this.addButtonHandler}>+</button>
>         <button className="btn btn-outline-primary mb-2 col-1" onClick={this.subractButtonHandler}>-</button>
>     </div> </div> ) } } const mapStateToProps = state => { return {
> 
> } } const mapDispatchToProps = dispatch => { return {
> onAddButtonHandler: (semester, studentId, id, subject, markObtained)
> => { dispatch(markAction.addButtonHandlerInit(semester, studentId, id, subject, markObtained)) }, onSubractButtonHandler: (studentId, id) =>
> { dispatch(markAction.subractButtonHandlerInit(studentId, id)) } } }
> export default connect(mapStateToProps, mapDispatchToProps)(MarkList)