当我选中复选框时,我想更新多个状态意味着useSameInfo为真。
例如,如果fieldName为assignFirstName
,那么我也希望使用此值更新billFirstName
。
updateValue = (fieldName, event) => {
event.preventDefault();
if (this.state.useSameInfo) {
if (fieldName === 'assignFirstName') {
// update billFirstName state also
} else if (fieldName === 'assignLastName') {
// update billLastName state also
}
}
this.setState({
[fieldName]: event.target.value,
});
console.log(this.state);
};
我应该在评论的那一行写下什么。
答案 0 :(得分:1)
您可以在调用setState
updateValue = (fieldName, event) => {
event.preventDefault();
const updates = {
[fieldName]: event.target.value
};
if (this.state.useSameInfo) {
if (fieldName === 'assignFirstName') {
updates.billFirstName = event.target.value;
} else if (fieldName === 'assignLastName') {
updates.billLastName = event.target.value;
}
}
this.setState(updates);
console.log(this.state);
};