FilterChip
Ein Filter als eine Pill, „Status ist 2xx“: Eigenschaft, Operator und Wert, jeweils mit eigenem Menü.
Status
function Basic() {
const [status, setStatus] = useState(["2xx"]);
const [op, setOp] = useState("is");
return (
<div className="flex items-center gap-8">
<FilterChip
property="Status"
propertyIcon={icons.chart}
operator={op}
operators={["is", "is not"]}
onOperatorChange={setOp}
value={status.length > 1 ? `${status.length} classes` : (status[0] ?? "any")}
multiple
values={[
{ value: "2xx", label: "2xx" },
{ value: "4xx", label: "4xx" },
{ value: "5xx", label: "5xx" },
]}
selected={status}
onSelectedChange={setStatus}
onRemove={() => setStatus([])}
/>
<Button variant="ghost" size="sm" leadingIcon={icons.add}>
Add filter
</Button>
</div>
);
}import { FilterChip } from "@logicplanes/kaeso-ui";Props
defaultValuesOpenbooleanÖffnet das Wertemenü, sobald der Chip erscheint: Ein gerade hinzugefügter Filter fragt sofort nach seinem Wert.
multiplebooleanMehrere Werte sind wählbar.
onOperatorChange((operator: string) => void)Wird mit dem gewählten Vergleich aufgerufen.
onRemove(() => void)Wird aufgerufen, wenn der Filter entfernt wird.
onSelectedChange((selected: string[]) => void)Wird mit den gewählten Werten aufgerufen.
operatorstring„ist“, „ist nicht“, „ist eines von“
operatorsstring[]Die Vergleiche, die zur Wahl stehen, etwa „ist“ und „ist nicht“.
propertyReactNode„Status“
propertyIconIconSvgElementDas Symbol der Eigenschaft, auf die der Filter wirkt.
selectedstring[] = []Die gewählten Werte.
valueReactNodeDer Wert, wie angezeigt: „2xx“ oder „2 Modelle“.
valuesFilterChipChoice[]Auswahlmöglichkeiten für das Wertemenü.