Radio Filter

Fit

32
14
21
About this component

Radio Filter

Single-select radio list with optional result counts. Clicking the active option clears the selection, so the filter is always escapable.

Usage

The import and the props worth knowing about, in one place.

import { FilterRadio } from "@/components/beste/component/filter-radio";

<FilterRadio
  label="Fit"
  defaultValue="regular"
  onChange={(value) => console.log("selected:", value)} // null when cleared
  options={[
    { label: "Regular", value: "regular", count: 32 },
    { label: "Oversized", value: "oversized", count: 14 },
  ]}
/>

Keyboard and gestures

Every one of these is in the component already. They are listed because a props table cannot mention a gesture, so nothing else on this page can tell you they exist.

Arrow keysMove through the options. A radio group is one tab stop, so the arrows are how you get around inside it.
SpaceTake the focused option.

Props

Read from the component's own type, so this cannot drift from what it accepts.

PropTypeDefaultDescription
labelstring—Optional group heading rendered above the list
optionsFilterRadioOption[]—
valuestring | null—Controlled selection; omit to let the component manage its own state
defaultValuestring—Initial selection when uncontrolled
allowClearboolean—Clicking the active option clears the selection (default true)
onChange(value: string | null) => void—
classNamestring—

More Filter components

View all Filter

Category

Category

24
18
9
12

Gender