Segmented Filter

Gender

About this component

Segmented Filter

Single-select segmented control built on Tabs for mutually exclusive choices like gender or condition. Clicking the active segment clears the selection.

Usage

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

import { FilterSegmented } from "@/components/beste/component/filter-segmented";

<FilterSegmented
  label="Gender"
  defaultValue="women"
  onChange={(value) => console.log("selected:", value)} // null when cleared
  options={[
    { label: "Women", value: "women" },
    { label: "Men", value: "men" },
    { label: "Kids", value: "kids" },
  ]}
/>

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 segments; the value follows as you go.
Home / EndJump to the first or the last segment.

Props

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

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

More Filter components

View all Filter

Category

Category

24
18
9
12

Fit

32
14
21