Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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 如何以动态形式创建和存储多个输入的值?_Javascript_Reactjs_React Hooks_React State_React Functional Component - Fatal编程技术网

Javascript 如何以动态形式创建和存储多个输入的值?

Javascript 如何以动态形式创建和存储多个输入的值?,javascript,reactjs,react-hooks,react-state,react-functional-component,Javascript,Reactjs,React Hooks,React State,React Functional Component,我有一个表单,用户可以生成新的输入到他想要提交的表单中,但是我一直在处理新生成的输入的值,因为我需要将它们存储在状态中 我的代码 const [supply_detail_data,setSupply_detail_data]=React.useState({ suppCashDetail:[{text : [],val:[]}] }); const addNewSuppDetailInput = () => { setSupply_detail_data(

我有一个表单,用户可以生成新的输入到他想要提交的表单中,但是我一直在处理新生成的输入的值,因为我需要将它们存储在
状态中

我的代码

const [supply_detail_data,setSupply_detail_data]=React.useState({
    suppCashDetail:[{text : [],val:[]}]
});

const addNewSuppDetailInput = () => {
    setSupply_detail_data(
        {suppCashDetail: [...supply_detail_data.suppCashDetail,{text : [],val:[]}]}
    )
}

function supply_detail_handler(event){
    // should store the values of inputs in the State
}
JSX

<div className='addNewInput' onClick={addNewSuppDetailInput}>+</div>
 {
    supply_detail_data.suppCashDetail.map((el,index) => {
    let textID='suppDetailText'+index;
    let valID='suppDetailVal'+index;
        return (
        <div key={index}>
        •<input type='text' 
            name={textID}
            value={el.text||''} 
            onChange={supply_detail_handler.bind(index)}
        />

        <input type='number'
            name={valID} 
            value={el||''} 
            onChange={supply_detail_handler.bind(index)}/> 
        </div>
        );

    }) 
 }
+
{
supply\u detail\u data.supplcashdetail.map((el,索引)=>{
让textID='suppDetailText'+索引;
让valID='suppDetailVal'+索引;
返回(
•
);
}) 
}

每次用户按下
+
按钮时,会生成两个输入,一个是文本类型,另一个是编号类型,我需要知道在值更改时执行的
supply\u detail\u处理程序如何存储新生成的
输入的值

您需要的是为每个输入分配一个唯一标识符,以便以后在存储中使用。检查此示例:

您需要的是为每个输入分配一个唯一标识符,以便以后在存储中使用。检查此示例: