import { Checkbox } from 'antd' <Checkbox style={{ color: 'red', backgroundColor: 'black' }}>Dr John</Checkbox> How to change the color of the check box not the label 'Dr John'? The above style only change the styles of the label not the check box?
6 Réponses :
Vous pouvez utiliser un simple CSS
.ant-checkbox-checked .ant-checkbox-inner { background-color: red; border-color: red; }
Je veux appliquer le css dynamiquement (différentes couleurs pour une plage de cases à cocher en fonction d'une entrée donnée).
Voici un lien codeSandBox que j'ai créé en utilisant des composants stylisés. Faites-moi savoir si cela a fonctionné.
Merci! Ça marche. Mieux vaut écrire le code sur le codepen ici.
Pouvez-vous expliquer comment vous avez découvert quelles classes antd css remplacer? Leur css est caché (j'utilise antd 2.x), merci
J'ai inspecté l'élément dans les pages de démonstration d'antd, les noms de classe apparaissent dans l'onglet styles.
une idée comment implémenter cela sur la case à cocher de sélection de la table?
@HilalArsa Pouvez-vous partager un exemple?
J'ai pu changer dynamiquement la couleur de la case à cocher en utilisant @ humanbean's et This answer.
Checkboxes.js
.ant-checkbox-checked .ant-checkbox-inner { background-color: var(--background-color); border-color: var(--border-color); }
CSS
<Checkbox value={key} key={index} style={{ "--background-color": boxColors[index], "--border-color": boxColors[index], }}> Title </Checkbox>
Utilisation de la fonction var () dans css et fourniture de la couleur dans le style en ligne du composant.
const CustomCheckbox = styled(Checkbox)` ${props => props.backgroundColor && css` & .ant-checkbox-checked .ant-checkbox-inner { background-color: ${props.backgroundColor}; border-color: ${props.backgroundColor}; } `} `; with styled-component package you can do something like this.<CustomCheckbox backgroundColor='green' />
Remplacez les classes de case à cocher antd par défaut dans votre css et fournissez les attributs nécessaires pour la personnaliser.
Par exemple,
index.css
import React from "react"; import ReactDOM from "react-dom"; import { Checkbox } from "antd"; import "antd/dist/antd.css"; import "./index.css"; class App extends React.Component { onChange(e) { console.log(`checked = ${e.target.checked}`); } render() { return ( <div> <Checkbox onChange={this.onChange} disabled={true}>Checkbox</Checkbox> </div> ); } } ReactDOM.render(<App />, document.getElementById("root"));
index.js
.ant-checkbox .ant-checkbox-inner { width: 25px; height: 25px; background-color: red; border-color: red; } .ant-checkbox-disabled .ant-checkbox-inner { width: 25px; height: 25px; background-color: gray; border-color: gray; } .ant-checkbox-checked .ant-checkbox-inner { width: 25px; height: 25px; background-color: transparent; border-color: red; }
.checkbox { .ant-checkbox .ant-checkbox-inner { border-color: red; // for mouse focus color } .ant-checkbox-checked .ant-checkbox-inner { background-color: green; // selected color border-color: green; } } .checkbox { .ant-checkbox-checked .ant-checkbox-inner { background-color: green80; border-color: green80; } .ant-checkbox-wrapper:hover .ant-checkbox-inner, .ant-checkbox:hover .ant-checkbox-inner, .ant-checkbox-input:focus+.ant-checkbox-inner { border-color: green80 !important; } .ant-checkbox-indeterminate .ant-checkbox-inner::after { background-color: green80; } }