javascript 这种情况下的最佳做法是什么?

afdcj2ne  于 2023-05-21  发布在  Java
关注(0)|答案(1)|浏览(119)

我有一个表格,有一个特殊的字段用于上传简历,尽管姓名,姓氏,我像这样解决它:

const handleChange = (event) =>{
        const value = event.target.name === "cv" ? event.target.files[0] : event.target.value;
        const name = event.target.name;
        setJobForm((prev)=>{
          return {...prev,[name]:value}
        })
    }

每个字段的状态:

const [jobForm,setJobForm] = useState({
    name:'',
    lastname:'',
    day:'',
    month:'',
    year:'',
    phone:'',
    email:'',
    jobPosition:'',
    coments:'',
    cv:[]
})

当我上传一个pdf文件时,我得到的错误是:为什么会这样?
未捕获DOM异常:无法设置“HTMLInputElement”上的“value”属性:这个输入元素接受一个文件名,该文件名只能通过编程方式设置为空字符串。

gwbalxhn

gwbalxhn1#

const handleChange = (event) => {
  const { name, value, files } = event.target;
  if (name === "cv") {
    const cvFile = files[0];
    setJobForm((prev) => ({ ...prev, cv: cvFile }));
  } else {
    setJobForm((prev) => ({ ...prev, [name]: value }));
  }
};

相关问题