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 .