본문으로 이동

Grid

2차원 칸을 이동하고 값을 선택하거나 편집 상태로 들어갑니다.

용법

선택 가능

격자 사이를 이동하고 현재 칸을 선택합니다.

격자 사이를 이동하고 현재 칸을 선택합니다.

Core
Ready
Vue
Active

비활성 항목 끝에서 처음으로 이동

격자 끝에서도 활성 칸을 따라 이동을 이어 갑니다.

격자 끝에서도 활성 칸을 따라 이동을 이어 갑니다.

Production
Ready
v0.2
Preview
Pending
next

편집 가능

격자 이동을 유지하면서 현재 칸의 값을 편집합니다.

격자 이동을 유지하면서 현재 칸의 값을 편집합니다.

Production
Ready
v0.2
Preview
Pending
next

외부 상태 관리

현재 값은 부모가 관리하고, 허용된 변경을 컴포넌트에 다시 전달합니다.

현재 값은 부모가 관리하고, 허용된 변경을 컴포넌트에 다시 전달합니다.

Production
Ready
v0.2
Preview
Pending
next

API

Vue 패키지: @sectile/vue/grid

컴포넌트
  • GridRoot
  • GridRow
  • GridCell

Props

GridRootProps

as

이 파트가 렌더링할 요소 또는 컴포넌트입니다.

asChild

하나뿐인 자식 요소에 파트 속성을 직접 합칠지 여부입니다.

defaultEditMode

컴포넌트가 관리하는 초기 편집 상태입니다.

defaultHighlightedValue

컴포넌트가 관리하는 처음 강조 값입니다.

defaultValue

컴포넌트가 값을 관리할 때 사용할 초깃값입니다.

disabled

사용자 조작을 막을지 여부입니다.

disabledItems

포커스와 선택 대상에서 제외할 항목 값입니다.

editMode

외부에서 제어하는 편집 상태입니다.

highlightedValue

키보드 조작 대상으로 강조된 현재 값입니다.

label

보조 기술이 읽는 컨트롤 이름입니다.

modelValue

부모가 상태를 관리할 때 사용할 현재 값입니다.

policies

검증, 이동, 선택 동작을 조정하는 정책입니다.

readonly

값 확인만 허용하는 읽기 전용 상태 여부입니다.

rows

컴포넌트가 관리할 2차원 항목 구조입니다.

GridPartProps

as

이 파트가 렌더링할 요소 또는 컴포넌트입니다.

asChild

하나뿐인 자식 요소에 파트 속성을 직접 합칠지 여부입니다.

슬롯

GridRootSlotProps

disabled

사용자 조작을 막을지 여부입니다.

editMode

현재 편집 상태입니다.

highlightedValue

조작 대상으로 강조된 현재 값입니다.

readonly

값 확인만 허용하는 읽기 전용 상태 여부입니다.

value

이 계약이 노출하는 현재 값입니다.

GridCellSlotProps

disabled

사용자 조작을 막을지 여부입니다.

editMode

현재 편집 상태입니다.

highlighted

조작 대상으로 강조된 항목인지 여부입니다.

highlightedValue

조작 대상으로 강조된 현재 값입니다.

readonly

값 확인만 허용하는 읽기 전용 상태 여부입니다.

selected

현재 선택된 항목인지 여부입니다.

value

이 계약이 노출하는 현재 값입니다.

이벤트

GridRoot

editCancel

편집을 취소하고 기존 값을 유지할 때 발생합니다.

editCommit

편집한 셀 값을 확정할 때 발생합니다.

editStart

셀이 편집 상태로 들어갈 때 발생합니다.

update:editMode

새 편집 상태를 요청할 때 발생합니다.

update:highlightedValue

새 강조 값을 요청할 때 발생합니다.

update:modelValue

컴포넌트가 외부 제어 값의 변경을 요청할 때 발생합니다.

기타 타입

GridValueChangeHandler

ts
type GridValueChangeHandler = (value: string | null) => void

GridHighlightedValueChangeHandler

ts
type GridHighlightedValueChangeHandler = (value: string | null) => void

GridEditModeChangeHandler

ts
type GridEditModeChangeHandler = (value: GridEditMode) => void

GridEditStartHandler

ts
type GridEditStartHandler = (value: string) => void

GridEditCommitHandler

ts
type GridEditCommitHandler = (value: string) => void

GridEditCancelHandler

ts
type GridEditCancelHandler = (value: string) => void

GridEditMode

ts
type GridEditMode = 'navigation' | 'editing'

GridPolicies

이름타입필수
eligible(id: ID) => boolean
boundaryAxisBoundaryPolicy
maxScannumber

파트

공통 범위: [data-scope="grid"]. 컴포넌트 내부로 스타일을 제한할 때 파트 선택자와 함께 사용합니다.

파트선택자역할추가 속성
root[data-part="root"]컴포넌트 경계와 내부 파트를 묶습니다.
row[data-part="row"]같은 그리드 행에 속한 셀을 묶습니다.
cell[data-part="cell"]탐색하거나 선택할 수 있는 그리드 값 하나입니다.

키보드 동작

동작
Arrow keys격자 칸 사이를 이동합니다.
Space현재 칸이나 행을 선택합니다.
Enter / F2현재 칸이 편집을 지원하면 편집 모드로 들어갑니다.
Escape현재 편집을 취소합니다.

접근성

이름이 있는 격자가 행과 열 수를 전달하고 각 칸은 위치·선택·비활성 상태를 노출합니다.

관련 WAI-ARIA 패턴에서 호스트 접근성 규칙을 확인할 수 있습니다.

MIT 라이선스로 배포합니다.