ReactJs选择添加默认值

时间:2016-08-14 15:12:17

标签: javascript html select reactjs

如果用户未在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
    });
}

2 个答案:

答案 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 />
</>
)