【发布时间】:2019-12-27 17:36:47
【问题描述】:
我想添加到我从输入类型文件中获取的状态和文件对象,我的问题是我不能用这个更新状态:
currentTarget.files[0]
我收到此错误:
DOMException: 无法在 'HTMLInputElement' 上设置 'value' 属性:此输入元素接受一个文件名,该文件名只能以编程方式设置为空字符串。
const [data, changeData] = useState({
name: '',
surname: '',
cv: '',
});
HandleChangeEvent 获取数据
const handleChangeData = ({ currentTarget }, key) => {
if (currentTarget.type === 'file') {
const files = currentTarget.files[0];
changeData((prevState) => {
console.log(prevState);
return { ...prevState, [key]: files };
});
} else {
// Validate property
const val = currentTarget.value;
const errorMessage = validateProperty(currentTarget);
if (errorMessage) errors[currentTarget.name] = errorMessage;
else delete errors[currentTarget.name];
changeData((prevState) => {
return { ...prevState, [key]: val };
});
}
};
我想从输入字段中获取属性files 并将其发送到后端
【问题讨论】:
-
尝试使用 event.target.files[0] 而不是 currentTarget
-
我在尝试,得到同样的错误
标签: javascript html reactjs input react-hooks