ReactJs Select 添加默认值

IT技术 javascript html select reactjs
2021-05-09 15:49:37

如果用户没有在 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个回答

您可以向 select 元素添加一个 value 属性,由您的状态设置。

<select value={this.state.valSelected} onChange={this.valSelected.bind(this)}>
    {currencies.map(function(name, index){
        return <option value={name}>{name}</option>;
    })}
</select>

这在react文档中进行了描述:Doc Link

然后在构造函数中或使用 getInitialState 为组件设置默认状态:在 React / React Native 中使用构造函数与 getInitialState 有什么区别?

使用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 />
</>
)