问题描述
反应。
当某人填写表格时,我想确保将他们留空的任何字段更改为特定的字符串。当尝试通过一个对象时,我遇到了问题...
const [formValues,setFormValues] = useState({
firstName: firstName,lastName: lastName,email: emailAddress,})
const personalDetails = (obj) => {
for (let [key,value] of Object.entries(obj)) {
// return`${key}: ${value}`
if (value === "") {
return "NA"
}
}
}
当某人未能填写其电子邮件地址时,我希望在对象中使用字符串“ NA”。
解决方法
我认为您太过复杂了。试试这个:
static connect(uri: string,options: MongoClientOptions,callback: MongoCallback<MongoClient>): void;
在您的输入占位符中使用。
然后:
const [formValues,setFormValues] = useState({
firstName: '',lastName: '',email: '',});
,
我愿意:
const personalDetails = (object) => Object.keys(obj).reduce((result,key) => result[key] = object[key] || 'NA',{});
,
您编写的函数personalDetails
不会更改对象属性。它只是检查是否有一个带有空字符串值的键,如果找到一个键,它仅返回"NA"
并且不更改对象。值得一提的是,当找到具有值""
的第一个键时,它已经返回。因此,如果用户未填写firstName
,则该函数返回"NA"
并在firstName
之后完成其执行,将不会检查其他键。
因此,Madhu Magar的评论方式如下:
if (value === "") {
obj[key] = "NA"
}