comment supprimer padding-top dans le menu déroulant react-select?
const customStyles = {
indicatorSeparator: styles => ({ ...styles, display: "none" }),
option: (provided, state) => ({
...provided,
fontSize: 16,
height:"40px",
paddingLeft: "11px",
":firstChild": {
margin: "10px",
padding: "10px",
borderRadius: "10px 10px 10px 10px"
}),
<Select
styles={customStyles}
defaultValue={[colourOptions[2], colourOptions[3]]}
isMulti
name="colors"
options={colourOptions}
className="basic-multi-select"
classNamePrefix="select"
/>
entrez la description de l'image ici https://codesandbox.io/s/react-codesandboxer-example-90zz6
3 Réponses :
Vous devez définir les styles de la clé de style menuList en fonction de la docs .menuList: (provided, state) => ({
...provided,
paddingTop: 0,
paddingBottom: 0,
}),
merci, je n'ai tout simplement pas pu voir la classe parce que la liste se ferme
moi non plus, mais dans Chrome, je peux appuyer sur "Ctrl + Maj + C" pour sélectionner des éléments, ce qui ne déclenche pas d'événements de flou sur les éléments ciblés. Ensuite, je pourrais facilement survoler l'élément et voir son nom de classe.
React-select utilise emotion , atteindre votre objectif avec la classe css est un anti-pattern. Vous devez continuer à utiliser les accessoires styles
@Laura vous avez raison. J'ai mis à jour ma réponse pour utiliser les styles personnalisables de react-select
utiliser ce style multi en ligne en utilisant {[firststyle, secandstyle]} et définissez le second style sous le premier style comme forme suivant
`const nopadinng={
paddingTop:0};`
and remove the classname
// remove the className
className="basic-multi-select"
const nopadinng={
paddingTop:0};
styles={[customStyles,nopadinng]}
Le margin-top par défaut entre la liste de menu et la boîte de sélection peut être facilement supprimé avec les accessoires styles comme ceci:
const styles = {
menu: base => ({
...base,
marginTop: 0
})
}
Live exemple ici .