Skip to content

SDatePicker <s-date-picker> ​

단일 날짜나 날짜 범위를 선택하는 캘린더입니다. SDatePicker은(는) Shopify Polaris <s-date-picker> web component를 위한 타입이 지정된 Vue 3 wrapper입니다.

ts
import { SDatePicker } from 'polaris-vue-elements'

모범 사례 ​

  • 적절한 날짜로 시작하세요. value를 미리 채워 판매자가 더 빨리 선택할 수 있게 합니다.
  • 자주 고르는 날짜에 바로가기를 제공하세요. "Today", "Last 7 days", "This month" 같은 프리셋이 있으면 판매자가 달력을 일일이 넘기지 않아도 됩니다.
  • 시작일과 종료일에는 type="range"를 사용하세요. 범위 선택은 보고서, 분석 등 기간을 기준으로 한 필터에 적합합니다.
  • 해당되지 않는 날짜는 막으세요. allow와 disallow를 사용해 판매자가 사용 사례에 맞지 않는 날짜를 고르지 못하게 합니다.
  • picker 주변에 여유 공간을 두세요. 화면 키보드나 다른 인터랙티브 요소를 가리지 않도록 충분한 공간을 확보합니다.
  • 먼 날짜도 고려하세요. 몇 년 이상 떨어진 날짜는 한 달씩 넘기기가 번거로우므로, 대략 5~10년 범위를 벗어나는 날짜에는 프리셋을 제공하거나 판매자가 연도를 직접 입력할 수 있게 합니다.
vue
<SDatePicker type="range" />

전체 가이드는 <s-date-picker>에 대한 Shopify 모범 사례(영어)를 참고하세요.

예시 ​

Selected: (none)

vue
<script setup>
import { ref } from 'vue'
import { SDatePicker } from 'polaris-vue-elements'

const value = ref('')
</script>

<template>
  <SDatePicker type="single" v-model="value" />
  <p>Selected: {{ value }}</p>
</template>

v-model ​

<SDatePicker>의 v-model은 value property에 바인딩되고 input DOM event를 수신합니다.

template
<SDatePicker v-model="value" />

다음과 동일합니다:

template
<SDatePicker :value="value" @input="value = $event.target.value" />

Props ​

Prop타입설명
allowstring선택할 수 있는 날짜를 쉼표로 구분한 목록으로 지정합니다. 빈 문자열(기본값)은 모든 날짜를 허용합니다. 형식:* - YYYY-MM-DD: 하루 - YYYY-MM: 한 달 전체 - YYYY: 한 해 전체 - start--end: 날짜 범위(양 끝 포함, start/end를 생략하면 제한 없음) 예시:* - 2024-02--2025: 2024년 2월부터 2025년 말까지 - 2024-05-09, 2024-05-11: 2024년 5월 9일과 11일만
allowDaysstring선택할 수 있는 요일을 쉼표로 구분한 목록으로 지정합니다. allow 및 disallow의 날짜를 추가로 제한합니다. 빈 문자열(기본값)은 아무 영향이 없습니다. 유효한 요일*: sunday, monday, tuesday, wednesday, thursday, friday, saturday 예시:* saturday, sunday(주말만)
defaultValuestring컴포넌트가 처음 렌더링될 때 처음 선택된 날짜입니다. 빈 문자열은 처음에 선택된 날짜가 없음을 의미합니다. - type이 "single"로 설정된 경우 YYYY-MM-DD 형식의 단일 날짜 - type이 "range"로 설정된 경우 YYYY-MM-DD--YYYY-MM-DD 형식의 날짜 범위(양 끝 포함)
defaultViewstring기본으로 표시할 월로, YYYY-MM 형식입니다. 사용자 상호작용이나 프로그래밍 방식으로 view 콜백이 설정될 때까지 사용됩니다. 기본값은 사용자 로케일 기준의 현재 월입니다.
disallowstring선택할 수 없는 날짜를 쉼표로 구분한 목록으로 지정합니다. 이 날짜들은 allow에 지정된 날짜에서 제외됩니다. 빈 문자열(기본값)은 아무 영향이 없습니다. 형식:* - YYYY-MM-DD: 하루 - YYYY-MM: 한 달 전체 - YYYY: 한 해 전체 - start--end: 날짜 범위(양 끝 포함, start/end를 생략하면 제한 없음) 예시:* - --2024-02: 2024년 2월 이전의 모든 날짜 - 2024-05-09, 2024-05-11: 2024년 5월 9일과 11일
disallowDaysstring선택할 수 없는 요일을 쉼표로 구분한 목록으로 지정합니다. allowDays에서 요일을 제외하고 allow 및 disallow와 교집합을 이룹니다. 빈 문자열(기본값)은 아무 영향이 없습니다. 유효한 요일*: sunday, monday, tuesday, wednesday, thursday, friday, saturday 예시:* saturday, sunday(주말 제외)
namestring가장 가까운 상위 폼 안에서 고유한 필드 식별자입니다.
type"single" | "range"허용되는 날짜 선택 유형입니다. - single: 단일 날짜 선택 - range: 날짜 범위 선택
valuestring현재 선택된 날짜입니다. 빈 문자열은 선택된 날짜가 없음을 의미합니다. - type이 "single"로 설정된 경우 YYYY-MM-DD 형식의 단일 날짜 - type이 "range"로 설정된 경우 YYYY-MM-DD--YYYY-MM-DD 형식의 날짜 범위(양 끝 포함)
viewstring현재 표시되는 월로, YYYY-MM 형식입니다. 변경되면 viewchange 콜백이 호출됩니다. 기본값은 defaultView입니다.
visibleMonths"auto" | "1" | "2"표시할 월의 수를 제어합니다. - 'auto': 맥락에 따라 결정됩니다. 현재는 '1'과 동일하게 한 달을 렌더링합니다. - '1': 한 번에 한 달을 렌더링합니다. - '2': 연속된 두 달을 나란히 렌더링합니다.

Events ​

Event타입
blurFocusEvent
changeEvent
focusFocusEvent
inputEvent
viewchangeCustomEvent

<SDatePicker>에서 @blur 형식의 리스너로 이 events를 수신하세요.

MIT 라이선스로 배포됩니다. Vue 로고: Evan You, CC BY-NC-SA 4.0.