Salta ai contenuti

Casella di controllo

I Checkbox sono usati per la selezione tra più opzioni. Possono alternare tra selezionato, deselezionato e uno stato intermedio.

Per usare il Checkbox, importalo dai tuoi componenti e passa checked, onCheckedChange e, opzionalmente, le prop disabled, size e color.

Un checkbox semplice con configurazione minima.

import React, { useState } from "react";
import { Checkbox } from "@firecms/ui";
export default function CheckboxBasicDemo() {
const [checked, setChecked] = useState(true);
return (
<Checkbox
checked={checked}
onCheckedChange={(newChecked) => setChecked(newChecked)}
/>
);
}

Un checkbox che mostra lo stato indeterminato, tipicamente usato per scenari ‘seleziona tutto’ dove non tutte le sotto-selezioni sono state effettuate.

import React, { useState } from "react";
import { Checkbox } from "@firecms/ui";
export default function CheckboxIndeterminateDemo() {
const [indeterminate, setIndeterminate] = useState(true);
const [checked, setChecked] = useState(false);
return (
<Checkbox
checked={checked}
indeterminate={indeterminate}
onCheckedChange={(newChecked) => {
if (indeterminate) {
setIndeterminate(false);
setChecked(true);
} else if (checked) {
setChecked(false);
} else {
setIndeterminate(true);
}
}}
/>
);
}

Illustrazione di come usare diverse dimensioni per il componente checkbox.

import React, { useState } from "react";
import { Checkbox } from "@firecms/ui";
export default function CheckboxSizeDemo() {
const [checked, setChecked] = useState(true);
return (
<div className="flex flex-col items-center gap-4">
<Checkbox
size="small"
checked={checked}
onCheckedChange={setChecked}
color="primary"/>
<Checkbox
size="medium"
checked={checked}
onCheckedChange={setChecked}
color="primary"/>
<Checkbox
size="large"
checked={checked}
onCheckedChange={setChecked}
color="primary"/>
</div>
);
}

Dimostra l’uso della prop color per personalizzare l’aspetto del checkbox.

import React, { useState } from "react";
import { Checkbox } from "@firecms/ui";
export default function CheckboxColorDemo() {
const [checkedPrimary, setCheckedPrimary] = useState(true);
const [checkedSecondary, setCheckedSecondary] = useState(true);
return (
<div className="flex flex-col items-center gap-4">
<Checkbox
size="medium"
checked={checkedPrimary}
onCheckedChange={setCheckedPrimary}
color="primary"
/>
<Checkbox
size="medium"
checked={checkedSecondary}
onCheckedChange={setCheckedSecondary}
color="secondary"
/>
</div>
);
}