FormData()。在单行中传递多个参数
我的问题很简单,我有一个使用此语法的react项目:
const data = new FormData();
data.append("token", this.props.token);
data.append("origin", this.props.origin);
....
我的问题是:
有什么方法可以更改此追加到一行或类似这样的语法?
const data = new FormData([('token', this.props.token), ('origin', this.props.origin)])
回答如下:如果您想将props
中的所有项目都添加到FormData
中,则可以遍历它们并调用formData.append()
,
const formData = new FormData();
Object.keys(this.props)
.forEach(key => formData.append(key, this.props[key])
如果您想将this.props
中的特定键添加到FormData
,则可以创建所有key
的数组,然后遍历它们:
const addToFormData= ["token", "origin"]
const formData = new FormData();
addToFormData.forEach(k => formData.append(k, this.props[k])