본문으로 건너뛰기

관리자 대시보드

실재하지 않는 상점 Grange의 관리 화면입니다. 내비게이션 레일, 필터 줄, 네 개의 수치, 행마다 동작이 달린 표, 설정 묶음이 한 화면에 같은 크기로 놓여 있습니다. size 사다리가 실제로 지켜지는지 가장 잘 드러나는 배치입니다.

소스는 docs/.vitepress/demos/concepts/dashboard.tsx 한 파일입니다. 표는 실제로 동작하니 검색해 보고, 채널로 거르고, 행을 선택해 보면 일괄 동작이 나타납니다.

무엇으로 만들었는지

블록사용된 컴포넌트볼 만한 것
Panes Pane분할이 곧 레이아웃입니다. 폭을 지키는 레일과 남은 자리를 차지하는 작업 영역, 그 사이는 드래그로 조절됩니다
내비게이션 레일List ListItem Icon Chip리스트에 render={<nav />}, 현재 행에 selected, 개수는 action 슬롯에 들어갑니다
레일 하단Pill Card ProgressLinear동기화 상태는 titledescription을 가진 Pill이고, 사용량은 작은 Card 안의 바입니다
앱 바Toolbar Breadcrumb Badge Avatar Tooltipposition="sticky"라서 아래 표가 스크롤되는 동안에도 동작에 계속 닿습니다
알림Alert살펴야 할 것 하나를 맨 위에서 한 번만 말하고, 자체 action을 함께 답니다
수치GridContainer Grid Statistic환불률이 떨어졌을 때 초록으로 나오게 만드는 것이 betterWhen="down"입니다
필터TextField Select DateRangePicker같은 size에서 셋의 높이가 같아서 한 줄의 기준선이 유지됩니다
일괄 동작Button Dialog Toast선택이 있을 때만 나타나고, 파괴적인 쪽은 Dialog로 먼저 확인합니다
Tabs Table Checkbox Chip Menu ContextMenu Pagination전체 선택은 머리글 칸에 놓인 indeterminate 체크박스입니다. 행마다 Menu가, 표 전체에는 ContextMenu가 붙습니다
하단 줄Card ProgressLinear Timeline Switch ProgressCircular같은 그리드 위의 카드 셋: 부족한 것, 있었던 일, 설정된 것

참고

  • 표의 stickyHeader가 스크롤되는 pane 안에서도 열 머리글을 붙잡아 둡니다.
  • 행 메뉴의 trigger는 label을 가진 IconButton이라, 각 행의 동작마다 어느 행의 것인지 말하는 접근성 이름이 붙습니다.
  • 필터링은 평범한 React 상태입니다. 표는 받은 것을 그대로 그리고, 받은 것이 없으면 empty를 보여줍니다.

Released under the MIT License