如何在选区中将禁用选项用作占位符

时间:2019-11-11 18:35:31

标签: javascript html css reactjs html-select

我尝试了以下解决方案,从理论上讲它是可行的,但react会返回以下内容:警告:启用defaultValuevalue道具,而不是将selected设置为。

<Select>
   <OptionPlaceholder selected disabled>
         Escolha uma opção...
   </OptionPlaceholder>
</Select>

目的只是为了消除此警告,但是我尝试过的任何其他解决方案都无法使我获得预期的结果

3 个答案:

答案 0 :(得分:0)

您错过了props

<option value="" disabled={this.props.defaultDisabled}>

答案 1 :(得分:0)

您要在React中设置value的{​​{1}}或defaultValue属性,而不是select的{​​{1}}道具!

下面是带有selected属性的示例:

option
  

或者看看here

答案 2 :(得分:0)

这只是参考代码,因为您需要将一个选项添加为defaultValue,并在验证过程中进行处理(无论是否选中)。或使用onChange处理程序来修改状态变量:

class App extends React.Component {

    constructor(props) {
        super(props);
        this.state = {
            value: '1'
        };
    }

    render(){
       return(
           <select value={this.state.value} onChange={(e)=>{this.setState({value: e.target.value})}}>
              <option value='1' disabled>Select</option>
              {
                  [2,3,4].map((i,j)=>{
                      return <option key={i} value={i}>{i}</option>
                  })
              }
           </select>
       );
    }
}