확장 컴포넌트

페이지 컴포넌트

추가 컴포넌트

import HeaderContainer from 'src/components/core/header-container'
import AddContainer from 'src/components/core/add-container'
import SearchContainer from 'src/components/core/search-container'
import ListContainer from 'src/components/core/list-container'
import Content from 'src/components/admin/content'
{/* 헤더 컨테이너 */}
<HeaderContainer />

{/* 추가 컨테이너 */}
<AddContainer />

{/* 검색 컨테이너 */}
<SearchContainer />

{/* 리스트 컨테이너 */}
<ListContainer>
  <Content />
</ListContainer>

<AddContainer /> 를 추가하면 추가 버튼이 생성됩니다.

컨텐츠 컴포넌트

액션 컴포넌트

import ActionContainer from 'src/components/core/action-container'
<TableCell>
  <ActionContainer
    id={row.id}
    detailAction={true}
    deleteAction={true}
  />
</TableCell>
Props
설명
비고

detailAction

true, 상세 액션 메뉴 활성화 false, 상세 액션 메뉴 비활성화

deleteAction

true, 삭제 액션 메뉴 활성화 false, 삭제 액션 메뉴 비활성화

날짜 포맷

import moment from 'moment'
<TableCell>
  {row?.createdAt
    ? moment(row?.createdAt).format(DATE.DATETIME)
    : '-'}
</TableCell>

에디터 뷰어

import ModalEditorViewerContainer from 'src/components/core/modal-editor-viewer-container'
<TableCell>
  <ModalEditorViewerContainer
    title="제목"
    content={row.intro}
  />
</TableCell>

사진

import CustomAvatar from 'src/@core/components/mui/avatar'
<TableCell>
  <CustomAvatar
    src={row.url}
    variant="rounded"
    sx={{ width: 40, height: 40 }}
  />
</TableCell>

분기에 의한 칩

import Chip from '@mui/material/Chip'
<TableCell>
  {Number(row.level) === 1 ? (
    <Chip label="시스템관리자" color="primary" variant="outlined" />
  ) : (
    <Chip label="관리자" color="secondary" variant="outlined" />
  )}
</TableCell>

스낵바

import Snackbar from '@mui/material/Snackbar'
const [state, setState] = useState({
  openSnack: false,
  snackContent: ''
})

const { openSnack, snackContent } = state

const handleClickSnack = (password: string) => {
  setState({
    openSnack: true,
    snackContent: password
  })
}

const handleCloseSnack = () => {
  setState({ ...state, openSnack: false })
}
<TableCell>
  <Button
    variant="text"
    onClick={() => handleClickSnack(row.password)}
  >
    비밀번호
  </Button>
</TableCell>
<Snackbar
  open={openSnack}
  onClose={handleCloseSnack}
  message={snackContent}
  autoHideDuration={3000}
  anchorOrigin={{ vertical: 'top', horizontal: 'center' }}
/>

Last updated