Forms 获取错误:将对象作为值传递给<;时,为'TextField'提供的'value'属性无效;选择>;
我有一个选择菜单,其中填充了数据库中的可用公司。当用户单击其中一家公司时,我希望将所选公司的状态设置为该公司对象 这与我的实现是一致的。但是,React投诉会出现以下错误 提供给Forms 获取错误:将对象作为值传递给<;时,为'TextField'提供的'value'属性无效;选择>;,forms,reactjs,material-ui,Forms,Reactjs,Material Ui,我有一个选择菜单,其中填充了数据库中的可用公司。当用户单击其中一家公司时,我希望将所选公司的状态设置为该公司对象 这与我的实现是一致的。但是,React投诉会出现以下错误 提供给TextField 这是我的 <TextField id="selectedCompany" select label="Select a company" margin="normal" className=
TextField
这是我的
<TextField
id="selectedCompany"
select
label="Select a company"
margin="normal"
className={classes.textFieldSelect}
value={props.selectedCompany === null ? "" : props.selectedCompany}
onChange={props.handleInputChange('selectedCompany')}
SelectProps={{
MenuProps: {
className: classes.menu,
},
name: "selectedCompany"
}}
helperText="Example: Company 1"
>
{props.availableCompanies.map((company, index) => (
<MenuItem key={index} value={company}>
{company.name}
</MenuItem>
))}
</TextField>
}在每个点检查所选公司的值,以确保传递的是有效值,且该值未定义<代码>未定义!==空什么是所选公司?API说它应该是字符串或数字。selectedCompany是一个对象。它工作得很好,但API有问题。我想知道是否有任何巧妙的解决方法来避免控制台中的错误。selectedCompany最初为空,随后设置为所选公司的状态。它会抱怨,因为您使用它时出错。根据定义,它应该是字符串或数字。谢谢。如果我想将当前选定对象的值设置为整个对象,而不是对象中的一个字符串,那么最好的方法是什么?在每个点检查
selectedCompany
的值,以确保传递的是有效值,并且该值不是未定义的<代码>未定义!==空什么是所选公司?API说它应该是字符串或数字。selectedCompany是一个对象。它工作得很好,但API有问题。我想知道是否有任何巧妙的解决方法来避免控制台中的错误。selectedCompany最初为空,随后设置为所选公司的状态。它会抱怨,因为您使用它时出错。根据定义,它应该是字符串或数字。谢谢。如果我想将当前选定对象的值设置为整个对象,而不仅仅是对象中的字符串,那么最好的方法是什么?
export class Jobs extends Component {
constructor() {
super();
this.state = {
currentJob: {
selectedCompany: null,
}
availableCompanies: [],
};
this.handleInputChange = this.handleInputChange.bind(this);
}
handleInputChange = name => e => {
e.preventDefault();
const target = e.target;
const value = target.value;
console.log(value);
this.setState({ currentJob: { ...this.state.currentJob, [name]: value } });
};