Date Picker
날짜, 시간 또는 기간을 직접 입력하거나 달력에서 선택합니다.
사용 가이드
#날짜·시간을 고를 때 사용합니다. 입력할 값의 범위에 맞춰 variant를 선택하세요.
오류 문구는 error 슬롯에 작성합니다.
컴포넌트 안에 <span slot="error">오류 메시지</span>을 넣으세요. 글자뿐 아니라 링크 등 필요한 안내도 넣을 수 있습니다. noNativeValidity를 지원하는 입력은 이를 켜면 브라우저 팝업 대신 이 안내를 표시합니다. Switch는 항상 컴포넌트 아래에 오류를 표시합니다.
업무 규칙의 실패는 setCustomError()로 알립니다.
예를 들어 서버가 중복된 값을 거절하면 error 슬롯의 문구를 바꾸고 setCustomError()를 호출하세요. 이 메서드에는 메시지 인자를 전달하지 않습니다. 사용자 지정 오류가 있으면 폼 제출도 차단됩니다.
해결 후 해제하고 제출 가능 여부를 확인합니다.
clearCustomError()로 업무 규칙 오류를 해제하세요. required나 입력 형식 검사까지 해제되지는 않습니다. await checkValidity()는 true/false를, reportValidity()는 검사 결과와 오류 표시를 함께 제공합니다. name을 지정한 유효한 값은 제출 시 FormData로 읽습니다.
날짜
date를 사용합니다. mode로 일·월·연도 선택 단위를 정하세요.
날짜와 시간
datetime으로 날짜와 시각을 함께 선택합니다.
기간
range로 시작일과 종료일을 받습니다.
시간
time으로 날짜 없이 시각만 선택합니다.
- 표시와 폼 연결
format은yyyy·MM·dd·hh·mm·ss를 사용합니다.name·required로 폼에 연결하고,selected는 확정 선택,changed는 입력 변화로 구분하세요.
예제
#기능별 예제
#14개 주제에서 필요한 기능을 선택하세요. 속성 설정, 메서드 호출, 이벤트 결과와 슬롯 구성을 실행 화면과 코드로 확인할 수 있습니다.
일치하는 기능이 없습니다.
API reference
#이름에 마우스를 올리거나 키보드로 선택하면 적용 코드를 확인할 수 있습니다. 터치 화면에서는 이름을 누르세요.
<sy-datepicker>
Properties
| Attribute / Property | Type | Default | Description |
|---|---|---|---|
'day' | 'month' | 'year' | 'day' | 날짜 선택 단위입니다: day·month·year. | |
'date' | 'datetime' | 'range' | 'time' | 'date' | 날짜·날짜와 시간·기간·시간 중 선택 유형입니다. | |
boolean | false | 사용자 조작과 키보드 포커스를 차단합니다. | |
boolean | false | 현재 값을 보여주면서 사용자 수정을 막습니다. | |
boolean | false | 값이 없으면 폼 검증을 실패시킵니다. | |
string | undefined | 연도입니다. | |
string | undefined | 월입니다. Date Picker는 1~12, 하위 Calendar는 0~11을 사용합니다. | |
string | undefined | 월 안의 날짜입니다. | |
string | undefined | 시간(0~23)입니다. | |
string | undefined | 분(0~59)입니다. | |
string | undefined | 초(0~59)입니다. | |
string | 'Su,Mo,Tu,We,Th,Fr,Sa' | 일요일부터 토요일 순서로 쉼표로 구분한 요일 이름입니다. | |
boolean | false | 한 주를 월요일부터 표시합니다. | |
boolean | false | 달력에서 토요일과 일요일을 숨깁니다. | |
string | '' | 값이 비어 있을 때 표시할 안내 문구입니다. | |
string | 'yyyy-MM-dd hh:mm:ss' | yyyy·MM·dd·hh·mm·ss 토큰을 조합한 표시 형식입니다. | |
string | '' | FormData에 사용되는 필드 이름입니다. | |
boolean | false | 브라우저의 기본 오류 표시 대신 앱의 오류 UI를 사용할 때 지정합니다. checkValidity 검사 자체는 유지됩니다. |
Events
| Event | Detail | Description |
|---|---|---|
CustomEvent<unknown> | 값 또는 선택 상태가 바뀔 때 발생합니다. | |
CustomEvent<unknown> | 사용자가 항목을 선택했을 때 발생합니다. |
Methods
| Method | Returns | Description |
|---|---|---|
Promise<string> | 현재 유효성 검사 상태를 반환합니다. | |
Promise<void> | 사용자 지정 오류 상태를 설정합니다. | |
Promise<void> | 사용자 지정 오류 상태를 해제합니다. | |
Promise<boolean> | 현재 제약 조건에 맞으면 true, 아니면 false를 반환합니다. | |
Promise<boolean> | 현재 값을 검사하고 오류를 사용자에게 표시합니다. |
Slots
| Slot | Description |
|---|---|
| 유효성 검사 오류 메시지입니다. |
<sy-calendar>
Properties
| Attribute / Property | Type | Default | Description |
|---|---|---|---|
'day' | 'month' | 'year' | 'day' | 날짜 선택 단위입니다: day·month·year. | |
'date' | 'datetime' | 'range' | 'time' | 'date' | 날짜·날짜와 시간·기간·시간 중 표시할 패널입니다. | |
string | 'hh:mm:ss' | 값을 표시하고 해석할 형식입니다. 사용 가이드의 토큰 또는 형식 값을 확인하세요. | |
string | undefined | 기간에서 현재 편집 중인 start 또는 end입니다. | |
number | undefined | 연도입니다. | |
number | undefined | 월입니다. Date Picker는 1~12, 하위 Calendar는 0~11을 사용합니다. | |
number | undefined | 월 안의 날짜입니다. | |
number | undefined | 시간(0~23)입니다. | |
number | undefined | 분(0~59)입니다. | |
number | undefined | 초(0~59)입니다. | |
{year: number, month: number, day: number } | undefined | 선택 범위의 시작 날짜입니다. month는 0부터 시작합니다. 객체·배열 값은 JavaScript 프로퍼티로 전달합니다. | |
{year: number, month: number, day: number } | undefined | 선택 범위의 끝 날짜입니다. month는 0부터 시작합니다. 객체·배열 값은 JavaScript 프로퍼티로 전달합니다. | |
string | 'Su,Mo,Tu,We,Th,Fr,Sa' | 일요일부터 토요일 순서로 쉼표로 구분한 요일 이름입니다. | |
boolean | false | 한 주를 월요일부터 표시합니다. | |
boolean | false | 달력에서 토요일과 일요일을 숨깁니다. |
Events
| Event | Detail | Description |
|---|---|---|
CustomEvent<unknown> | 사용자가 항목을 선택했을 때 발생합니다. | |
CustomEvent<unknown> | 이벤트의 detail에서 결과를 확인하세요. |
<sy-date-calendar>
Properties
| Attribute / Property | Type | Default | Description |
|---|---|---|---|
'day' | 'month' | 'year' | 'decade' | undefined | 날짜·월·연도·10년 단위 표시입니다. | |
{year: number, month: number, day: number, hour: number, minute: number, second: number} | {
year: new Date().getFullYear(),
month: new Date().getMonth(),
day: new Date().getDate(),
hour: new Date().getHours(),
minute: new Date().getMinutes(),
second: new Date().getSeconds()
} | 연·월·일·시·분·초를 가진 객체입니다. month는 0부터 시작합니다. 객체·배열 값은 JavaScript 프로퍼티로 전달합니다. | |
'start' | 'end' | undefined | 기간 선택에서 start 또는 end 역할을 지정합니다. | |
string | undefined | 기간에서 현재 편집 중인 start 또는 end입니다. | |
{year: number, month: number, day: number } | undefined | 선택 범위의 시작 날짜입니다. month는 0부터 시작합니다. 객체·배열 값은 JavaScript 프로퍼티로 전달합니다. | |
{year: number, month: number, day: number } | undefined | 선택 범위의 끝 날짜입니다. month는 0부터 시작합니다. 객체·배열 값은 JavaScript 프로퍼티로 전달합니다. | |
string | undefined | 범위 선택 중 포인터가 가리키는 날짜입니다. | |
string | 'Su,Mo,Tu,We,Th,Fr,Sa' | 일요일부터 토요일 순서로 쉼표로 구분한 요일 이름입니다. | |
boolean | false | 한 주를 월요일부터 표시합니다. | |
boolean | false | 달력에서 토요일과 일요일을 숨깁니다. | |
Date | new Date() | 현재 달력 화면의 기준 날짜입니다. Date 객체로 전달합니다. 객체·배열 값은 JavaScript 프로퍼티로 전달합니다. |
Events
| Event | Detail | Description |
|---|---|---|
CustomEvent<unknown> | 값 또는 선택 상태가 바뀔 때 발생합니다. | |
CustomEvent<unknown> | 사용자가 항목을 선택했을 때 발생합니다. | |
CustomEvent<unknown> | 이벤트의 detail에서 결과를 확인하세요. | |
CustomEvent<unknown> | 이벤트의 detail에서 결과를 확인하세요. |
<sy-date-time-calendar>
Properties
| Attribute / Property | Type | Default | Description |
|---|---|---|---|
'day' | 'month' | 'year' | 'decade' | 'day' | 날짜·월·연도·10년 단위 표시입니다. | |
{year: number, month: number, day: number, hour: number, minute: number, second: number} | {
year: new Date().getFullYear(),
month: new Date().getMonth(),
day: new Date().getDate(),
hour: new Date().getHours(),
minute: new Date().getMinutes(),
second: new Date().getSeconds()
} | 연·월·일·시·분·초를 가진 객체입니다. month는 0부터 시작합니다. 객체·배열 값은 JavaScript 프로퍼티로 전달합니다. | |
string | 'Su,Mo,Tu,We,Th,Fr,Sa' | 일요일부터 토요일 순서로 쉼표로 구분한 요일 이름입니다. | |
boolean | false | 한 주를 월요일부터 표시합니다. | |
boolean | false | 달력에서 토요일과 일요일을 숨깁니다. |
Events
| Event | Detail | Description |
|---|---|---|
CustomEvent<unknown> | 사용자가 항목을 선택했을 때 발생합니다. |
<sy-range-calendar>
Properties
| Attribute / Property | Type | Default | Description |
|---|---|---|---|
'day' | 'month' | 'year' | undefined | 날짜·월·연도 단위 표시입니다. | |
string | undefined | 현재 편집 중인 start 또는 end입니다. | |
{year: number, month: number, day: number, hour: number, minute: number, second: number} | undefined | 연·월·일·시·분·초를 가진 객체입니다. month는 0부터 시작합니다. 객체·배열 값은 JavaScript 프로퍼티로 전달합니다. | |
{ year: number, month: number, day: number } | undefined | 선택 범위의 시작 날짜입니다. month는 0부터 시작합니다. 객체·배열 값은 JavaScript 프로퍼티로 전달합니다. | |
{ year: number, month: number, day: number } | undefined | 선택 범위의 끝 날짜입니다. month는 0부터 시작합니다. 객체·배열 값은 JavaScript 프로퍼티로 전달합니다. | |
string | 'Su,Mo,Tu,We,Th,Fr,Sa' | 일요일부터 토요일 순서로 쉼표로 구분한 요일 이름입니다. | |
boolean | false | 한 주를 월요일부터 표시합니다. | |
boolean | false | 달력에서 토요일과 일요일을 숨깁니다. |
Events
| Event | Detail | Description |
|---|---|---|
CustomEvent<unknown> | 사용자가 항목을 선택했을 때 발생합니다. |
<sy-timepicker>
Properties
| Attribute / Property | Type | Default | Description |
|---|---|---|---|
number | 0 | 시간(0~23)입니다. | |
number | 0 | 분(0~59)입니다. | |
number | 0 | 초(0~59)입니다. | |
boolean | false | 시간 선택 패널의 확인 버튼을 숨깁니다. | |
string | ':' | 시간 단위 사이에 표시할 구분 문자입니다. | |
string | 'hh:mm:ss' | 값을 표시하고 해석할 형식입니다. 사용 가이드의 토큰 또는 형식 값을 확인하세요. |
Events
| Event | Detail | Description |
|---|---|---|
CustomEvent<unknown> | 사용자가 항목을 선택했을 때 발생합니다. | |
CustomEvent<unknown> | 값 또는 선택 상태가 바뀔 때 발생합니다. |