J'ai essayé la solution ci-dessous, en théorie cela fonctionne, mais react renvoie ceci: Attention: utilisez les accessoires Le but est uniquement de supprimer cet avertissement, mais toute autre solution que j'ai essayée ne me donne pas le résultat attendu defaultValue ou value au lieu de définir selected activé. <Select>
<OptionPlaceholder selected disabled>
Escolha uma opção...
</OptionPlaceholder>
</Select>
3 Réponses :
vous avez manqué un props
Vous souhaitez définir l'attribut value ou defaultValue du select dans React au lieu de l'accessoire selected de l'option !
Voici un exemple avec l'attribut value :
import React, { Component } from 'react'
// ...
export default class App extends Component {
state = {
value: '',
}
handleChange = event => {
const { value } = event.target
this.setState({ value })
}
render () {
const { value } = this.state
return (
<Select value={value} onChange={this.handleChange}>
<OptionPlaceholder disabled>
Escolha uma opção...
</OptionPlaceholder>
</Select>
)
}
}
Ou jetez un œil ici
C'est juste le code de référence, car vous devez ajouter une option comme defaultValue et la gérer lors de votre validation si elle est sélectionnée ou non. Ou utilisez les gestionnaires onChange pour modifier une variable d'état:
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>
);
}
}
Copie possible de Option de sélection conditionnellement désactivée dans React