gpt4 book ai didi

javascript - 将附件添加到附件数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:23:33 24 4
gpt4 key购买 nike

我有以下功能,可以从 <input type="file" multiple /> 添加附件到 parent 的状态。

在用户想要添加另一个附件之前效果很好,新附件会覆盖现有附件,我如何才能将新附件添加到现有附件数组中?

handleAddAttachments = fileList => {
this.props.handleChange('attachments', Array.from(fileList));
};

我试过了,但似乎不起作用。

handleAddAttachments = fileList => {
const { attachments } = this.props.ticket;
this.props.handleChange('attachments', [...attachments, fileList]);
};

handleChange功能:

makeHandleChange = (pageName, change) => {
this.setState({
ticket: { ...this.state.ticket, [pageName]: change },
});
};

最佳答案

在您的第二个版本中,您缺少 Array.from() 部分。来自 fileInput 的更改不直接是一个数组,因此展开运算符不起作用。

这应该可以解决问题:

handleAddAttachments = fileList => {
const { attachments } = this.props.ticket;
this.props.handleChange('attachments', [...attachments, ...Array.from(fileList)]);
};

有关为什么它不是数组的更多信息,您可以在此处找到一些信息:Why isn't the FileList object an array?

感谢@sigmus,我将缺失的传播添加到 Array.from()

关于javascript - 将附件添加到附件数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56337966/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com