nextjs-framework
  • nextjs-sj-prime-base
  • Getting Started
    • Quickstart
    • Project Structure
    • Code Convention
  • 신규 프로젝트 생성 가이드
  • 라이브러리 개발 및 배포
  • # 고고컴퍼니 어드민 개발 서버 배포
  • Port 설정 방법
  • 에러 해결 방법
  • StoryBook 설명
  • COMPONENTS/UI
    • Tooltip
    • CompactIconButton
    • IconButton
    • FormAsset
    • InputField
    • Dropzone
    • Select
    • DataTable
    • TableHead
    • TableHeadDropdownMenu
    • TableCell
    • TableCellSelect
    • Tag
    • Tabs
    • Chip
    • Command
    • FilterSelect
    • FilterMultiSelect
    • FilterDate
    • DatePicker
    • Toast
  • Timer
  • Components/layout
    • page-header
    • info-card
    • search-filter
    • table-header
    • form
  • Custom Hook
    • use-form
  • use-form-file
  • use-timer
  • Util
    • validation
    • middleware.ts
  • Components/미사용
    • input-box
    • single-select
    • multi-select
    • range-date-picker
    • radio-button-group
    • checkbox-group
    • list-table
    • pagination
    • toggle
Powered by GitBook
On this page
  • Props
  • Usage
  1. Components/layout

table-header

리스트 페이지 - 테이블 헤더 영역

Previoussearch-filterNextform

Last updated 3 months ago

Props

Props
Type
Default
Description

totalCount

number

0

테이블 전체 데이터 수

filterValues

object

{}

검색 필터 조건

handleChange

function

-

필터 변경 이벤트 핸들러

renderControls

object

{}

제어 버튼 영역

renderOptions

object

{}

테이블 옵션 영역 (검색 필터)

Usage

import { TableHeader } from '@/src/components/layout'

export function TableHeaderDemo() {
  return (
    <TableHeader
      totalCount={246}
      filterValues={}
      handleChange={() => {}}
      renderControls={[
        {
          type: 'button',
          variant: 'outline',
          onClick: () => {},
          children: '제어버튼',
        },
        {
          type: 'button',
          variant: 'outline',
          onClick: () => {},
          children: (
            <>
              <Icon />
              삭제
            </>
          ),
        },
      ]},
      renderOptions={[
        {
          type: 'button',
          className: 'p-2.5',
          variant: 'secondary',
          onClick: () => {},
          children: <Download />,
        },
        {
          type: 'select',
          selectName: 'pageSize',
          selectOptions: selectOptions.pageSize,
          triggerChildren: (
            <>
              <TableIcon className="mr-2 size-4" />
              <span className="mr-1">컬럼: </span>
            </>
          ),
        },
        {
          type: 'select',
          selectName: 'sortType',
          selectOptions: selectOptions.adminAccountListSortType,
          triggerChildren: (
            <>
              <SortDesc className="mr-2 size-4" />
              <span className="mr-1">정렬: </span>
            </>
          ),
        },
      ]}
    />
  )
}