ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ๊ธฐ์ค์ผ๋ก ์์ฑ๋์์ต๋๋ค !
์๊ฐ๋ง ์ ๋ ฅ ๋ฐ์ ๋ ( type='time' )
<input
name='selectedTime'
defaultValue='00:00:00'
type='time'
step='1' // seconds
required
style={{ width: '150px' }}
className='form-control'
onChange={(e) => {
const newValue = e.target.value as string;
setValue('selectedTime', newValue);
}}
/>
์ด๊น์ง ์
๋ ฅํ๊ธฐ ์ํด์ ํ์ํ ๋ถ๋ถ์ step='1'
๋ถ๋ถ์ด๋ค.
ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ๋ฅผ ๊ธฐ์ค์ผ๋ก step = '1'์ ์ ๋ ฅํ์ง ์์ผ๋ฉด hh:mm a ๊น์ง๋ง ์ ๋ ฅํ ์ ์์ผ๋ฉฐ,
step ='1'์ 01์ด๋ฅผ ์๋ฏธํ๋ค.
์๋๋ ๋ ์ง์ ์๊ฐ์ ๋ฐ๋ก ๋ถ๋ฆฌํ์ฌ input์ ์ถ๋ ฅํ๋ ํ๋ฉด์ด๋ค.
์ด๋ ๊ฒ ํ๋ฉด ์๊ฐ์๋ง defaultValue๋ฅผ ์ค ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
์ฐธ๊ณ ๋ก step -'2'๋ก ์ค์ ํ๊ณ ํ์ ์ด๋ฅผ ์ ํํ๋ฉด ์๋์ ๊ฐ์ ํดํ ๋ฉ์์ง๊ฐ ๋ฌ๋ค.
๋ ์ง์ ์๊ฐ ํ๋์ input์ผ๋ก ์ ๋ ฅ ๋ฐ์ ๋ ( type='datetime-local' )
<input
defaultValue={defaultDate}
type='datetime-local'
step='1'
max={maxDate}
style={{ marginRight: '5px', width: '230px' }}
className='form-control'
{...register('selectedDate', {
required: {
value: true,
message: t('text.file.dateIsRequired'),
},
})}
/>
type='datetime-local' ์ ์ฌ์ฉํ๋ฉด ๋ ์ง์ ์๊ฐ์ ํ๋์ input์ผ๋ก ์ฌ์ฉํด์ค ์ ์๋ค.
์ด ๊ฒฝ์ฐ์๋ defaultValue๋ฅผ ์ค์ ํ ๋ ๋ ์ง๊น์ง ์ค์ ํด์ฃผ์ด์ผ ํ๋ค.
datetime-local์์ defaultValue๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์๋์ ๊ฒ์๊ธ์์ ๋ค๋ฃจ์๋ค.
reference
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time#using_the_step_attribute