如果用户未在ReactJs中触摸它,我想存储选择默认值。怎么可能?
<select onChange={this.valSelected.bind(this)}>
{currencies.map(function(name, index){
return <option value={name}>{name}</option>;
})}
</select>
和
valSelected(event){
this.setState({
valSelected: event.target.value
});
}
答案 0 :(得分:7)
您可以只为州元素设置的select元素添加一个value属性。
<select value={this.state.valSelected} onChange={this.valSelected.bind(this)}>
{currencies.map(function(name, index){
return <option value={name}>{name}</option>;
})}
</select>
这在反应文档中有所描述:Doc Link
然后在构造函数中或使用getInitialState为组件设置默认状态:What is the difference between using constructor vs getInitialState in React / React Native?
答案 1 :(得分:0)
使用defaultValue
选择默认值。
const statusOptions = [
{ value: 1, label: 'Publish' },
{ value: 0, label: 'Unpublish' }
];
const [statusValue, setStatusValue] = useState('');
const handleStatusChange = e => {
setStatusValue(e.value);
}
return(
<>
<Select options={statusOptions} defaultValue={[{ value: published, label: published == 1 ? 'Publish' : 'Unpublish' }]} onChange={handleStatusChange} value={statusOptions.find(obj => obj.value === statusValue)} required />
</>
)