Lynx

Segmented Control

여러 옵션 중 하나를 선택하여 관련 콘텐츠를 즉시 필터링하거나 전환할 때 사용하는 컴포넌트입니다.

Engine ≥ 3.6
사용 가능 버전@seed-design/[email protected], @seed-design/[email protected]
Lynx 예제를 불러오는 중입니다.

Installation

npx @seed-design/cli add ui:segmented-control

Props

SegmentedControl

value와 defaultValue 중 적어도 하나를 제공해야 선택된 항목과 Indicator를 표시할 수 있습니다.

Prop

Type

onValueChange?((value: string) => void) | undefined

SegmentedControlItem

Prop

Type

notification?boolean | undefined
childrenstring | number
valuestring
disabled?boolean | undefined

Usage

import {
  SegmentedControl,
  SegmentedControlItem,
} from "@/components/ui/segmented-control";

export function App() {
  return (
    <SegmentedControl defaultValue="hot" accessibility-label="정렬 기준">
      <SegmentedControlItem value="hot">인기순</SegmentedControlItem>
      <SegmentedControlItem value="new">최신순</SegmentedControlItem>
    </SegmentedControl>
  );
}

Examples

Disabled

SegmentedControl의 disabled는 전체 항목을 비활성화합니다. 각 SegmentedControlItem도 따로 비활성화할 수 있습니다.

Lynx 예제를 불러오는 중입니다.

Notification

Lynx 예제를 불러오는 중입니다.

Long Label

Lynx 예제를 불러오는 중입니다.

Fixed Width

SegmentedControl의 style이나 className으로 너비를 지정할 수 있습니다.

Lynx 예제를 불러오는 중입니다.

Listening to Value Changes

onValueChange로 선택 값 변경을 감지할 수 있습니다. Controlled 모드에서는 value와 함께 사용합니다.

Lynx 예제를 불러오는 중입니다.

웹 버전과의 차이

  • 선택 이벤트는 input change 대신 bindtap과 onValueChange로 받습니다.
  • 접근성은 ARIA 대신 Lynx의 accessibility-* 속성을 사용합니다.

Lynx 미지원 기능

  • HTML form 제출을 위한 ItemHiddenInput, name, form, inputProps
  • 키보드 focus와 focus-visible 상호작용
  • SegmentedControlItem의 invalid 상태. 오류 문구는 컴포넌트 가까이에 표시하고 accessibility-label에도 포함하세요.

Last updated on

목차