我正在制作一个动态表单组件,它从用户和

const addNewEmp=()=>{
      61 |     setEmpList((data)=>({
      62 |         inputValue: '',
    > 63 |         emplist: [
         | ^  64 |             ...data.emplist,
      65 |             {
      66 |                 empName: data.inputValue

我做了几处修改,但都不知道出了什么问题.我的代码

import React, { useState } from 'react'

const Select = () => {
    const [inputValue,setInputValue] = useState('')
    const [emplist, setEmpList] = useState([
        {
            empName: '---Select---'
        }
    ]);


  const  addNewEmp=()=>{
      setEmpList((data)=>({
          inputValue: '',
          emplist: [
              ...data.emplist,
              {
                  empName: data.inputValue
              }
          ]
      }))
  }

      let empRecords = emplist.map((data) => {
        return <option>{data.empName}</option>;
      });

    return (
      <>
       
        <input
          type="text"
          placeholder="add options"
          onChange={(e)=> setInputValue(e.target.value)}
        />
         <button onClick={addNewEmp}>Add +</button>
        <br />
         <select>{empRecords}</select>
         {inputValue}
       
      </>
    );
}

export default Select

推荐答案

答复

import React, { useState } from "react";
    
    const Select = () => {
      const [inputValue, setInputValue] = useState("");
    
      const [emplist, setEmpList] = useState([]);
    
      let empRecords =
        emplist.length > 0 &&
        emplist.map((data) => {
          return (
            <option value={data.empName} key={data.empName}>
              {data.empName}
            </option>
          );
        });
    
      const addNewEmp = () => {
        const addItems = {
          empName: inputValue,
          value: inputValue,
        };
    
        const addEmp = [...emplist];
        addEmp.push(addItems);
        setEmpList(addItems);
      };
    
      return (
        <>
          <input
            type="text"
            placeholder="add options"
            onChange={(e) => setInputValue(e.target.value)}
          />
          <button onClick={addNewEmp}>Add +</button>
          <br />
          <select>{empRecords}</select>
          {inputValue}
        </>
      );
    };
    
    export default Select;

Javascript相关问答推荐

成帧器运动中的运动组件为何以收件箱开始?

TypScript界面中的Infer React子props

字节数组通过echo框架传输到JS blob

为什么这个JS模块在TypeScript中使用默认属性导入?""

在grafana情节,避免冲突的情节和传说

JS,当你点击卡片下方的绿色空间,而它是在它的背后转动时,

在WordPress中使用带有WPCode的Java代码片段时出现意外令牌错误

使用getBorbingClientRect()更改绝对元素位置

当用户点击保存按钮时,如何实现任务的更改?

try 将Redux工具包与MUI ToggleButtonGroup组件一起使用时出错

处理TypeScrip Vue组件未初始化的react 对象

JWT Cookie安全性

用另一个带有类名的div包装元素

未捕获的不变违规:即使在使用DndProvider之后也应使用拖放上下文

Angel Auth Guard-用户只有在未登录时才能访问登录页面,只有在登录时才能访问其他页面

在范围数组中查找公共(包含)范围

需要从对象生成列表

通过ng-绑定-html使用插入的HTML中的函数

验证Java脚本函数中的两个变量

Select 所有输入.值