Material-ui: [DatePicker] ํฌํŠธ ๊ตฌ์„ฑ ์š”์†Œ

์— ๋งŒ๋“  2016๋…„ 07์›” 22์ผ  ยท  51์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: mui-org/material-ui

  • [ ] ์š”์†Œ
  • [ ] ํ…Œ์ŠคํŠธ(์ ์–ด๋„ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ)
  • [ ] ๋ฌธ์„œ
  • [ ] ๋ฐ๋ชจ
  • [ ] ํ‚ค๋ณด๋“œ ์ ‘๊ทผ์„ฑ #3933
  • [ ] ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด #7574์™€ ๊ฐ™์€ ๊ฒƒ์„ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • [ ] #7866, #7783, #7781, #7767, #6970, #6944, #6918, #6916, #6886, #6718, #6594, #6439, #6358, #6312, #6134, #5897, #5800, #5743, #5726, #5696, #5664, #5633, #5400, #5329, #5198, #5197, #5188, #5037, #4900, #4765, #4707, # , #4401, #4219, #3794, #3710, #2930, #2203, #2023, #1566, #1261, #1207, #4538, #5144, #7399, #5612
DatePicker

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์˜ค๋Š˜๋‚  ํ”„๋กœ๋•์…˜ ์•ฑ์—์„œ MUI timepicker ๋ฐ datepicker๋ฅผ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋ถˆํ–‰ํžˆ๋„ Material Design ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜ ์—†์ด๋Š” v1.0.0์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์‹œ๊ฐ„/๋‚ ์งœ ์„ ํƒ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ข‹์€ ์†”๋ฃจ์…˜์ด ์•„๋‹ˆ๋ฉฐ ํ›Œ๋ฅญํ•˜๊ณ  ์™„์ „ํ•œ Material Design React ๊ตฌ์„ฑ ์š”์†Œ UI ํŒจํ‚ค์ง€๋ฅผ ๊ฐ–๋Š” ๋ฐ "์ค‘์š”"ํ•˜์ง€ ์•Š๋‹ค๋Š” ๋ฐ ๋™์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  51 ๋Œ“๊ธ€

@oliviertassinari ์ƒˆ ๋ฒ„์ „์—์„œ ์ด ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ตฌํ˜„ํ•  ๊ณ„ํš์ด ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋„์™€๋“œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์•Œ๋ ค์ฃผ์„ธ์š”. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ์š”์†Œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์—ด๋ฆฐ ๋ฌธ์ œ๋ฅผ ์‚ดํŽด๋ณด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ๊ตฌํ˜„์˜ ํ•œ๊ณ„๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. v1 ๋ฆด๋ฆฌ์Šค ๋งˆ์ผ์Šคํ†ค์—์„œ DatePicker ๋ฐ TimePicker๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๋” ๋นจ๋ฆฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋„์›€์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€๋Š” ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

  • ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€๋‚œํ•œ UX๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋งค์šฐ ๋„์ „์ ์ž…๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ํ”Œ๋žซํผ์˜ ๊ธฐ๋ณธ ์„ ํƒ๊ธฐ์— ์˜์กดํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๋‚ ์งœ ์กฐ์ž‘์€ ๋ณต์žกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ด…์‹œ๋‹ค.
  • Desktop UX๋Š” ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณผ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ตฌ์„ฑ๋ ฅ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ๋‚ฎ์€ ์ˆ˜์ค€์˜ API๋ฅผ ๋…ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

datepicker(๋ฐ timepicker)์˜ ์ค‘์š”์„ฑ์— ๋Œ€ํ•œ ์ œ ์˜๊ฒฌ์„ ๋‚จ๊ฒจ๋‘๊ณ , ์ข‹์€ UI ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋‹ค๋ฃจ๊ณ  ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ •์˜ํ•˜๋Š” 3๊ฐ€์ง€ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Autocomplete , Datatables ๋ฐ Datepickers .

๋‚˜๋Š” ๋งŽ์€ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‹œ๋„ํ–ˆ๊ณ , ๊ทธ ์„ธ ๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๊ฐ€์žฅ ๊ณจ์น˜ ์•„ํ”ˆ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ๋“ค์ž๋ฉด ์—ด์•…ํ•œ ๊ตฌํ˜„ ๋ฐ ๊ตญ์ œํ™” ์˜ต์…˜, ๋น„๋™๊ธฐ ์šฉ๋Ÿ‰ ๋ฐ ํŽ˜์ด์ง€ ๋งค๊น€์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์š”์•ฝํ•˜์ž๋ฉด, ์ €๋Š” ์ด ์„ธ ๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์™„์ „ํ•œ ์ƒํƒœ๋กœ ๋„์ฐฉํ•˜๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•˜์ง€๋งŒ ์ ์–ด๋„ ์ œ ์ƒ๊ฐ์—๋Š” ui ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ ํƒํ•˜์ง€ ์•Š์„ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์žˆ์„ ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ์—ผ๋‘์— ๋‘์‹ญ์‹œ์˜ค. ๊ทธ ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ์ผ๋ถ€๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.

์–ด์จŒ๋“ , MUI v1์€ ๋งค์šฐ ์œ ๋งํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. ์™„์ „ํžˆ ์ถœ์‹œ๋˜๋ฉด ์‚ฌ์šฉํ•ด ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!

๋‚˜๋Š” ์˜คํžˆ๋ ค ์ด ์„ธ ๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์™„์ „ํ•œ ์ƒํƒœ๋กœ ๋„์ฐฉํ•˜๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค.

@GabrielDuarteM ์ €๋„ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. DatePicker ๋ฐ TimePicker ๊ตฌํ˜„์ด ๊ฒฝ์Ÿํ•˜๋ ค๋ฉด ๊ธฐ๋ณธ ๊ตฌํ˜„๋งŒํผ ์šฐ์ˆ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋‹น์žฅ์€ ํ”„๋กœ๋•์…˜ ์ค€๋น„ ์•ฑ์—์„œ v0.x ์„ ํƒ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฐจ๋ผ๋ฆฌ ํ”Œ๋žซํผ์˜ ์„ ํƒ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ ์—†์ด v1.0.0์„ ์ถœ์‹œํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์„ ํƒ ๋„๊ตฌ๋Š” ์ˆ˜๋…„์— ๊ฑธ์ณ ๋งŽ์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ž๋™ ์™„์„ฑ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์—ฌ๊ธฐ์—์„œ ์˜ˆ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .

์˜ค๋Š˜๋‚  ํ”„๋กœ๋•์…˜ ์•ฑ์—์„œ MUI timepicker ๋ฐ datepicker๋ฅผ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋ถˆํ–‰ํžˆ๋„ Material Design ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜ ์—†์ด๋Š” v1.0.0์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์‹œ๊ฐ„/๋‚ ์งœ ์„ ํƒ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ข‹์€ ์†”๋ฃจ์…˜์ด ์•„๋‹ˆ๋ฉฐ ํ›Œ๋ฅญํ•˜๊ณ  ์™„์ „ํ•œ Material Design React ๊ตฌ์„ฑ ์š”์†Œ UI ํŒจํ‚ค์ง€๋ฅผ ๊ฐ–๋Š” ๋ฐ "์ค‘์š”"ํ•˜์ง€ ์•Š๋‹ค๋Š” ๋ฐ ๋™์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@skirunman์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. DatePicker ๋ฐ TimePicker ๋Š” ํ”„๋กœ๋•์…˜ ์•ฑ์—์„œ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ธฐ๋ณธ ๊ตฌํ˜„์€ ๋งค์šฐ ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Android์šฉ ํฌ๋กฌ์—์„œ๋Š” ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์›”๊ณผ ์—ฐ๋„๋ฅผ ์„ ํƒํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์˜ˆ๋ฅผ ๋“ค์–ด ์ƒ์ผ์„ ์„ ํƒํ•  ๋•Œ ๊ทธ ๋ถ€๋ถ„์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ์˜๊ฒฌ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ๊ฐ€๋‚œํ•œ UX๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋งค์šฐ ๋„์ „์ ์ž…๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ํ”Œ๋žซํผ์˜ ๊ธฐ๋ณธ ์„ ํƒ๊ธฐ์— ์˜์กดํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ•๋ ฅํ•˜๊ฒŒ ๋ฐ˜๋Œ€ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์„ ํƒ๊ธฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐ๋Šฅ์ด ์ œํ•œ๋˜์–ด ์žˆ์œผ๋ฉฐ ํ™•์‹คํžˆ ๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ์— ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚ ์งœ ์กฐ์ž‘์€ ๋ณต์žกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ด…์‹œ๋‹ค.

๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ ๊ธฐ๋ฐ˜ ์‹œ๊ฐ„ ๋ฐ ๋‚ ์งœ ์„ ํƒ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ํ˜„์žฌ ๋งŽ์€ ์‚ฌ์šฉ์ž๋ฅผ ์ถ”์œ„์— ๋–จ๊ฒŒ ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ MUI์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ์ด๋ฉฐ ์‹ค์ œ๋กœ ๊ทธ๋ž˜์•ผ ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด MUI์˜ ์ „๋ฐ˜์ ์ธ ๋งค๋ ฅ์ด ์•ฝํ•ด์ง‘๋‹ˆ๋‹ค.

Desktop UX๋Š” ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณผ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ ์ง€์นจ์„ ๋”ฐ๋ฅด๋Š” ํ•œ ์™œ ์ด๊ฒƒ์„ ๋งํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ตฌ์„ฑ๋ ฅ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ๋‚ฎ์€ ์ˆ˜์ค€์˜ API๋ฅผ ๋…ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์žˆ์œผ๋ฉด ์ข‹์ง€๋งŒ v1.0.0 IMO์˜ ์š”๊ตฌ ์‚ฌํ•ญ์€ ์•„๋‹™๋‹ˆ๋‹ค.

@skirunman ์šฐ๋ฆฌ๋Š” ๊ทธ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๊ฒƒ์€ ํƒ€์ด๋ฐ ์šฐ์„ ์ˆœ์œ„์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. v1์„ ๋จผ์ € ์ถœ์‹œํ•˜๊ณ  DatePicker/TimePicker๋ฅผ ๋‚˜์ค‘์— ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋งŽ์€ ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. (์‚ฌ๋žŒ๋“ค์€ ํ•ญ์ƒ ๋งˆ์Šคํ„ฐ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).
๋˜ํ•œ ํ•ต์‹ฌ ๊ธฐ์—ฌ์ž์˜ ํ•„์š”์—์„œ ๋น„๋กฏ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‚ด๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž‘์—…์„ ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์—ฌ์ž๊ฐ€ ๊ตฌ์„ฑ ์š”์†Œ์˜ โœจ ๊ตฌํ˜„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” ํ™•์‹คํžˆ ๊ทธ๊ฒƒ์„ ๊ฒ€ํ† ํ•˜๊ณ  ์šฐ๋ฆฌ ๋ชจ๋‘๊ฐ€ ๋งŒ์กฑํ•˜๋ฉด ๋ณ‘ํ•ฉํ•  ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์€ ๋งํ•  ํ•„์š”๋„ ์—†์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ตœ๊ทผ์—์„œ์•ผ react-infinite-calendar ๋ฅผ ๋ณด๊ธฐ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ ์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” v0 ์บ˜๋ฆฐ๋”๋ฅผ ๋Œ€์ฒดํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ช…์‹œ์ ์ธ ์›”๋ณ„ ์Šคํ…Œํ•‘ ๋Œ€์‹  ์›” ์‚ฌ์ด๋ฅผ ์Šคํฌ๋กคํ•  ์ˆ˜ ์žˆ์–ด ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•˜์ง€๋งŒ ๋ฒ”์œ„ ์„ ํƒ(https://github.com/callemall/material-ui/issues/7574๋ฅผ ํ†ตํ•ด ์š”์ฒญ)๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€ ์š”์ฒญ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฝค ์นจ์ฐฉํ•˜๋‹ค (์ฒ˜์Œ์—๋Š” ์–ผ๊ตด์„ ๋ถ‰ํžˆ๋‹ค)

์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์•ž์œผ๋กœ์˜ ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@DoWhileGeek ๋‚ด๊ฐ€ ๊ฐ€์ง„ ๊ฐ€์žฅ ์ตœ๊ทผ ๊ณ„ํš์€ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์„œ์— ์ƒˆ ํŽ˜์ด์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

<input type="datetime-local" name="bdaytime">
<input type="date" name="bday" max="1979-12-31">
<input type="time" name="usr_time">

์™€ ๊ฐ™์€ ์˜ˆ.

@oliviertassinari ์ €๋Š” ํŠนํžˆ #7781์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ux ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์•ฝ๊ฐ„์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

@DoWhileGeek 0.x ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•ด #7781์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์„ ์ž์œ ๋กญ๊ฒŒ ํ™๋ณดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ต์‹ฌ ํŒ€์€ 1.0 ๋ฆด๋ฆฌ์Šค์— ์ง‘์ค‘ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

+1 ์šฐ๋ฆฌ๋Š” ๊ธฐ๋ณธ v1 ์„ ํƒ๊ธฐ์— ์ •๋ง ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ ์ž‘์—… ์ค‘์ธ์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”.
์ถ”์‹ : ์šฐ๋ฆฌ๋Š” Material ui v1์— ๋Œ€ํ•ด ํฅ๋ถ„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ์ด์ƒ์˜ +1 ์œ ํ˜• ๋Œ“๊ธ€์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ด ๋ฌธ์ œ๋ฅผ ์ž ๊ทธ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์•Œ๋ฆผ์€ Pickers ๋ฌธ์„œ์— ์ด๋ฏธ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ์•„ ์ฑ„๋‹ค
ํ˜„์žฌ ๊ธฐ๋ณธ ์ž…๋ ฅ ์ปจํŠธ๋กค๋กœ ๋Œ€์ฒดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„์— ๊ด€์‹ฌ์ด ์žˆ๊ฑฐ๋‚˜ ๋ฉ‹์ง„ UX๋กœ ํ’๋ถ€ํ•œ Material Design Picker๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฒฝ์šฐ #4787 ๋ฐ #4796์œผ๋กœ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค! ๋ฌธ์„œ์— ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋งํฌ๋‚˜ ๋ฐ๋ชจ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ ์—์„œ ๊ฐ™์ด ๊ณ„ํš์€ Pickers ๊ตฌ์„ฑ ์š”์†Œ ๋ฐ๋ชจ์˜ ๊ธฐ๋ณธ ์ปจํŠธ๋กค๋กœ ๋Œ์•„๊ฐ€ Datepicker , Timepicker ์˜ _dedicated_ ์ž‘์—…์„ ๊ธฐ๊บผ์ด ์ˆ˜ํ–‰ํ•  ์™ธ๋ถ€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ™๋ณดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์„ ํƒ๊ธฐ๋ฅผ ์™ธ๋ถ€ ํ”„๋กœ์ ํŠธ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์„ฑ๊ณต์„ ์›ํ•˜๋ฏ€๋กœ ์ด๋ฅผ ๊ณต์œ ํ•ด ์ฃผ์‹œ๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ํ”„๋กœ์ ํŠธ์— ๋ˆˆ์— ๋„๊ฒŒ ๋งํฌ
  • material-ui ๋ฌธ์„œ ๋‚ด์—์„œ ๋ฐ๋ชจ ์ œ๊ณต
  • ๋‹น์‹ ์˜ ๋ฐฉํ–ฅ์œผ๋กœ ํ˜‘๋ ฅ์ž๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

material-ui ์˜ ์ธ๊ธฐ์™€ ์ด๋Ÿฌํ•œ ์„ ํƒ๊ธฐ์— ๋Œ€ํ•œ ์ˆ˜์š”๋ฅผ ๊ฐ์•ˆํ•  ๋•Œ ์„ ํƒ๊ธฐ ํ”„๋กœ์ ํŠธ ์†Œ์œ ์ž๋Š” ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ๋ชจ๋“  ์ธํ„ฐ๋„ท ๋ช…์„ฑ๊ณผ ์˜๊ด‘์„ ๋ฐ›์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ด€์‹ฌ์žˆ๋Š”? ์ œ๋ฐœ ํ•‘ @rosskevin ๋ฐ @oliviertassinari์— gitter .

@rosskevin @oliviertassinari ํ˜„์žฌ TimePicker ์ž‘์—… ์ค‘์ด๋ฉฐ ์ด๋ฒˆ ์ฃผ๋ง์— ์ฒซ ๋ฒˆ์งธ ์ž‘์—… ๋ฒ„์ „(์•„์ง ์ผ๋ถ€ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด๋‚˜ ๊ฐ€๋กœ ๋ชจ๋“œ๊ฐ€ ๋ˆ„๋ฝ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Œ)์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. :๋ฌด์ง€๊ฐœ:

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์„ ํƒ๊ธฐ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด DatePicker ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@leMaik ๋ฐฉ๊ธˆ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ํ™•์ธ ํ–ˆ์Šต๋‹ˆ๋‹ค. @dmtrKovalenko

ํ”„๋กœ์ ํŠธ ์ฐธ์—ฌ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ์ฐจ์ด์ ์„ ์ฐพ๊ธฐ ์œ„ํ•ด ํŒŒ๊ณ  ๋“ค์ง€๋Š” ์•Š์•˜์ง€๋งŒ ๊ณ ๋ คํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ตœ๊ทผ์— github ์กฐ์ง mui-org . mui-org ์— ์ฐธ์—ฌํ•˜๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค๋ฉด ์ €ํฌ์—๊ฒŒ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

@rosskevin
ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋” ๋ณต์žกํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ˆœ๊ฐ„์„ ํ”ผ์–ด ์ข…์†์„ฑ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ๋‚ ์งœ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋งŽ์€ ์ปจํŠธ๋กค(์˜ˆ: datetime ์„ ํƒ๊ธฐ)์„ ๊ตฌํ˜„ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— @leMaik์˜ ํ”„๋กœ์ ํŠธ ๋Œ€์‹  ์‹œ๊ฐ„ ์„ ํƒ๊ธฐ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ›จ์”ฌ ๊ฐ€๋ฒผ์šด ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.
์กฐ์ง์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ? ์ €๋Š” ๋ฐ˜๋Œ€ํ•˜์ง€ ์•Š์ง€๋งŒ ์‹ค์ œ๋กœ ๊ทธ๊ฒƒ์ด ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋ฅผ ์™„์ „ํžˆ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ? ์กฐ์ง์—์„œ ์ €์žฅ์†Œ๋ฅผ ์˜ฎ๊ธฐ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๊นŒ?

์กฐ์ง์— ๊ด€ํ•˜์—ฌ: ์˜ˆ - ์กฐ์ง ์•„๋ž˜๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์ผ ๋ฟ์ด๋ฉฐ ์•„๋งˆ๋„ material-ui ์ž์ฒด์˜ ์ธ๊ธฐ๋กœ ์ธํ•ด ๋” ๋งŽ์ด ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋” ๋งŽ์€ ์œ ์ง€ ๊ด€๋ฆฌ์ž). ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ๋‹จ์ง€ ์ƒ๊ฐ์ผ ๋ฟ์ด๋ฉฐ, ๊ทธ๊ฒƒ์ด ๊ฑฐ๊ธฐ์— ์žˆ์„ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋‹จ์ง€ ์šฐ๋ฆฌ๊ฐ€ ์ง€๊ธˆ ์กฐ์ง ๋‚ด์—์„œ ๋ณด์™„์ ์ธ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋ฌธ์„ ์—ด๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@rosskevin @dmtrKovalenko ์ €๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์ƒ๋‹นํžˆ ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์ ํŠธ๋ฅผ _๋ณ‘ํ•ฉ_ ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. material-ui-pickers๋ฅผ ๋‚ ์งœ ์„ ํƒ๊ธฐ๋กœ๋งŒ ๋ณ€ํ™˜ํ•˜๊ณ (๊ทธ๋ฆฌ๊ณ  ์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ๋ชจ๋“  ๊ฒƒ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ํ›Œ๋ฅญํ•œ ๊ธฐ๋ฐ˜์„ ๊ตฌ์ถ•ํ•˜๊ณ ) ์‹œ๊ฐ„ ์„ ํƒ๊ธฐ๋ฅผ ์‹œ๊ฐ„ ์„ ํƒ๊ธฐ๋กœ ์œ ์ง€ํ•˜๊ณ  ๋‘˜ ๋‹ค ์กฐ์ง ์•„๋ž˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? :์ƒ๊ฐ:

@leMaik
๋‚ ์งœ๋กœ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จํ•˜์—ฌ - ์ผ๋ถ€ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ๋‚ ์งœ ์ž‘์—…์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋„์›€์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— material-ui-pickers๋Š” ์ด์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ ์‚ฌ์–‘์— ๋‚˜์—ด๋˜์ง€ ์•Š์€ ๋‚ ์งœ-์‹œ๊ฐ„ ์„ ํƒ๊ธฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜‰

https://material.angular.io/components/datepicker/overview ์™€ ๊ฐ™์ด ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

ํ›Œ๋ฅญํ•˜๊ณ  ์œ ์—ฐํ•œ datepicker ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.
https://github.com/gpbl/react-day-picker

material-ui ํ…์ŠคํŠธ ์ž…๋ ฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ranged datepicker๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ๊ด€๋ฆฌ:

datepicker

@saraivinha85 ์Šค์œ—! ๐Ÿฌ

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„์„ ๊ณต์œ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? (์š”์ ๋งŒ ์žˆ์–ด๋„ ์ข‹์Šต๋‹ˆ๋‹ค!)

@mbrooks ๋ฌธ์ œ ์—†์Šต๋‹ˆ๋‹ค:
https://codesandbox.io/s/9l7kry52or

์‹œ๊ฐ„ ์„ ํƒ๊ธฐ๋ฅผ ์œ„ํ•œ ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ข‹์Šต๋‹ˆ๋‹ค. https://github.com/TeamWertarbyte/material-ui-time-picker

์•ˆ๋…•ํ•˜์„ธ์š”. ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•˜๊ณ  ์ด๋ฏธ ๋‹ค์Œ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์— ๋Œ€ํ•œ ์ถ”์ •์น˜๊ฐ€ ์žˆ๋Š”์ง€ ๋˜๋Š” ๋„์›€์ด ๋  ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€ ๋ฌผ์–ด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋ฅธ DatePickers๋ฅผ ํ™•์ธํ–ˆ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ์ถฉ๋ถ„ํžˆ ์ž˜ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ฒˆ๋“ค๋กœ ์ œ๊ณต๋˜๋Š” ๊ฒƒ์ด ์ตœ์ƒ์˜ ์†”๋ฃจ์…˜์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(ํŠนํžˆ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” redux-form ๋˜๋Š” redux-form-material-ui@next ์™€ ํ•จ๊ป˜ ์ž‘์—…ํ•˜๋Š” ๊ฒฝ์šฐ).

ํ˜„์žฌ๋กœ์„œ๋Š” https://github.com/dmtrKovalenko/material-ui-pickers ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์€ ์†”๋ฃจ์…˜์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์‹œ๋„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ์˜ ๋ชจ๋‹ฌ ์š”๊ตฌ ์‚ฌํ•ญ์œผ๋กœ ๋‚ ์งœ ์„ ํƒ ๋„๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

Google Flights ๋ฒ ํƒ€ ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ์— ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋‚ ์งœ ์„ ํƒ๊ธฐ ๋ฐ ๋‚ ์งœ ๋ฒ”์œ„ ์„ ํƒ๊ธฐ์™€ ์œ ์‚ฌํ•œ ๊ฒƒ์„ ๊ตฌํ˜„ํ•˜๋ฉด ๊น”๋”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

https://www.google.com/flights/beta

์–ด๋–ป๊ฒŒ monthPicker ๋˜๋Š” yearPicker๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฐ€์ด๋“œ๋ฅผ ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

@taoxueweilong ์—ฌ๊ธฐ ์— ๋ฌธ์ œ๋ฅผ ์ž‘์„ฑ

์•ˆ๋…•ํ•˜์„ธ์š” ๊ฐœ๋ฐœ์ž ์—ฌ๋Ÿฌ๋ถ„...
์—ฌ๊ธฐ์— Material UI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ datepicker๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
https://github.com/chingyawhao/material-ui-next-datepicker

์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์œผ๋ฉด Material UI์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์—„์ฒญ๋‚œ!

2018๋…„ 5์›” 2์ผ ์ˆ˜์š”์ผ ์˜ค์ „ 11์‹œ 13๋ถ„, Ching Yaw Hao [email protected]
์ผ๋‹ค:

์•ˆ๋…•ํ•˜์„ธ์š” ๊ฐœ๋ฐœ์ž ์—ฌ๋Ÿฌ๋ถ„...
์—ฌ๊ธฐ์— Material UI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ datepicker๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
https://github.com/chingyawhao/material-ui-next-datepicker

๋ˆ„๊ตฌ๋‚˜ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด Material UI์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ธธ๋“œ

โ€”
์ด ์Šค๋ ˆ๋“œ์— ๊ฐ€์ž…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/mui-org/material-ui/issues/4787#issuecomment-385914554 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AacMkVQOH0GRO7JsIyggzHidwmypEPdHks5tuXjQgaJpZM4JSThr
.

@chingyawhao ๊ธฐ์—ฌ ๊ฐ€์ด๋“œ๋Š” ๊ฑฐ์˜ ์™„์„ฑ๋˜์—ˆ์ง€๋งŒ ์ด์ œ ์ƒˆ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ packages/material-ui-lab ๊ฐ‘๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ ํ•ฉํ•œ ํ›„๋ณด์ž์ธ์ง€ ์—ฌ๋ถ€์— ๋Œ€ํ•ด์„œ๋Š” @oliviertassinari ์—๊ฒŒ

@mbrookes ์ฃผ๋ง์— material-ui-lab์— pull request๋ฅผ ์‹œ๋„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@chingyawhao ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณต์œ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ๋กœ์„œ๋Š” ๋ฌธ์„œ ์˜ ๋Œ€์•ˆ ๊ณผ ํ•จ๊ป˜ ๋ฌธ์„œํ™”ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์€ ๋‹จ๊ณ„๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
๋„์„œ๊ด€์˜ ๋‹ค๋ฅธ ์ง€์—ญ์—์„œ๋Š” ์ด๋ฏธ ํ•ด์•ผ ํ•  ์ผ์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ๋‚ ์งœ ์„ ํƒ ๋„๊ตฌ๋Š” ์˜ฌ๋ฐ”๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ณต์žกํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด bootstrap-datepicker ์˜ ๋ชจ๋“  ์‚ฌ์šฉ์„ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค. ์ „๋žต์  ๊ด€์ ์—์„œ ๋ณผ ๋•Œ ์ด ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์˜ค๋ž˜ ๋งก๊ธธ์ˆ˜๋ก ๋” ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ ํ†ต๊ณ„์—์„œ ~13% ์˜ ์‚ฌ๋žŒ๋“ค์ด ๋‚ ์งœ ์„ ํƒ๊ธฐ, ์‹œ๊ฐ„ ์„ ํƒ๊ธฐ ๋˜๋Š” ๊ทธ ์‚ฌ์ด์— ํ•„์š”ํ•œ ๊ฒƒ์ด

@oliviertassinari ์•Œ์•˜ ์Šต๋‹ˆ๋‹ค...
๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•  ์ค€๋น„๊ฐ€ ๋˜๋ฉด ์•Œ๋ ค์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์ œ๊ฐ€ ๋„์™€๋“œ๋ฆด๊นŒ์š”?

@chingyawhao https://github.com/dmtrKovalenko/material-ui-pickers ์—์„œ @dmtrKovalenko ์™€ ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ ? ๊ฐœ์„ ์˜ ์—ฌ์ง€๊ฐ€ ๋งŽ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค.

@stunaz ๋ชจ์–‘๊ณผ ๋Š๋‚Œ์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ๊ฒฌํ•ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ๋ถ„๋ช…ํžˆ https://github.com/dmtrKovalenko/material-ui-pickers ๊ฐ€ ํ˜„์žฌ material-ui-next์˜ ์ „์ฒด ๋””์ž์ธ๊ณผ UX ํฌ์ธํŠธ์— ํ›จ์”ฌ ๋” ์ž˜ ๋งž์Šต๋‹ˆ๋‹ค. .

@up-to-you ๋‚ด ์ตœ์ข… ๋ชฉํ‘œ๋Š” ๋ฐ์Šคํฌํƒ‘์˜ ํ…์ŠคํŠธ ํ•„๋“œ์—์„œ ์„ ํƒ๊ธฐ์— ๋Œ€ํ•œ material-design์˜ ๋ฌ˜์‚ฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ ํƒ ๋„๊ตฌ๋Š” ๋Œ€ํ™” ์ƒ์ž ๋Œ€์‹  ํŒ์˜ค๋ฒ„์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋˜ ํ”„๋กœ์ ํŠธ์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒ๊ธฐ์—์„œ ๋‚ ์งœ๋ฅผ ์„ ํƒํ•˜๋„๋ก ์ œํ•œํ•˜์ง€ ์•Š๋Š” datepicker์˜ ๋ณด๋‹ค ๋งž์ถคํ™”๋œ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๋งˆ์Šคํฌ๋œ ํ…์ŠคํŠธ ์ž…๋ ฅ์— ๋‚ ์งœ๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ํ”„๋กœ์ ํŠธ๋Š” ํ•ด๋‹น ์ˆ˜์ค€์˜ ์‚ฌ์šฉ์ž ์ •์˜๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅ ๋˜๋Š” ํฌํ•จํ•˜๋Š” ๋Œ€ํ™” ์ƒ์ž ๋˜๋Š” ํŒ์˜ค๋ฒ„๊ฐ€ ์—†๋Š” ์„ ํƒ๊ธฐ์ธ ์บ˜๋ฆฐ๋” ๊ตฌ์„ฑ ์š”์†Œ๋งŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

import {Calendar, Clock} from 'material-ui-next-pickers'

์ฐธ๊ณ ๋กœ ํƒ€์ž„ํ”ผ์ปค๋„ ์ถœ์‹œํ–ˆ์–ด์š” XD

Material Design

@chingyawhao ๋Š”

@techniq yup, ํ™•์‹คํžˆ ... ๋‚ด ํ”„๋กœ์ ํŠธ์—์„œ ํ•œ ๊ฒƒ๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ๊ฐ€ ํ•„์š”ํ•˜๋ฉด ๋‚ด ์ €์žฅ์†Œ์— ๋ฌธ์ œ๋ฅผ ๋งŒ๋“œ์‹ญ์‹œ์˜ค.

ํ์‡„๋œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด๊ฒƒ์ด ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(์—ฌ๊ธฐ - https://material-ui.com/demos/pickers/).

์ฐธ๊ณ ๋กœ, ํ˜„์žฌ ๋ฌธ์ œ๋Š” Firefox๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— datetime-local์— ๋Œ€ํ•œ ์ข‹์€ ์†”๋ฃจ์…˜์ด ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋จธํ‹ฐ๋ฆฌ์–ผ 1.0์œผ๋กœ ์ „ํ™˜ํ•˜์ž ํŒŒ์ด์–ดํญ์Šค ์‚ฌ์šฉ์ž๊ฐ€ ์šฐ๋ฆฌ์˜ ๋‚ ์งœ/์‹œ๊ฐ„ ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์œ„์˜ ๋…ผ์˜์˜ ๋Œ€๋ถ€๋ถ„์€ ๋‚ ์งœ ๋˜๋Š” ์‹œ๊ฐ„์˜ ์ข‹์€ ๊ตฌํ˜„์— ๊ด€ํ•œ ๊ฒƒ ๊ฐ™์ง€๋งŒ ๋‘˜ ๋‹ค datetime ์ž‘๋™ ๋ฌธ์ œ๋ฅผ ์ „ํ˜€ ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@rogerstorm ์€ 120๋‹ฌ๋Ÿฌ๋กœ ์ด ๋ฌธ์ œ์— ์ž๊ธˆ์„ ์ง€์›ํ–ˆ์Šต๋‹ˆ๋‹ค. IssueHunt์—์„œ ํ™•์ธํ•˜์„ธ์š”.

์—ฌ๋ณด์„ธ์š”!

DataPicker ์ง„ํ–‰ ์ƒํƒœ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ๊ธด ์Šค๋ ˆ๋“œ์—์„œ ์ด๊ฒƒ์„ ํ‰๊ฐ€ํ•˜๊ธฐ๊ฐ€ ์ ์  ์–ด๋ ค์›Œ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  @dmtrKovalenko ๋Š” ํ•œ๋™์•ˆ Material-UI-Pickers ์— ๊พธ์ค€ํžˆ ์ „๋…ํ•ด ์˜จ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ตฌ์ฒด์ ์œผ๋กœ:

  1. ์›๋ž˜ ๋ฌธ์ œ๋Š” ํ™•์ธ๋ž€ ํ•ญ๋ชฉ์„ ๋‚˜์—ดํ–ˆ์œผ๋ฉฐ ๊ทธ ์ค‘ ์–ด๋Š ๊ฒƒ๋„ ์„ ํƒ ํ•ด์ œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ •ํ™•ํ•ฉ๋‹ˆ๊นŒ?

    image
    @dmtrKovalenko ์—๋Š” ํ…Œ์ŠคํŠธ, ๋ฌธ์„œ, ๋ฐ๋ชจ ๋“ฑ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ž‘์—…์„ ์™„๋ฃŒํ•˜์ง€ ์•Š์•˜์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ด ์‹œ์ ์—์„œ _์•„๋ฌด๊ฒƒ๋„_ ์ฒดํฌํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์ด ์ •ํ™•ํ•œ๊ฐ€์š”?

  2. ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด @dmtrKovalenko์˜ ์˜๊ฒฌ์„ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. Material-ui-picker๋ฅผ ์ ‘๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์— ๋Œ€ํ•ด Material UI ํŒ€๊ณผ ๋…ผ์˜ํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@jasonkylefrank ๊ณต์‹ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์•„๋ฌด ์ž‘์—…๋„ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ฌด ๊ฒƒ๋„ ํ‘œ์‹œ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ, ๊ณต์ •ํ•˜๊ฒŒ

@dmtrKovalenko ํ›Œ๋ฅญํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์œผ๋ฉฐ "๊ณต์‹"์ด ์•„๋‹Œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

DatePicker ๋ฐ TimePicker ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ์ž‘์—…์€ ๊ณ„ํšํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋งก๊ฒจ์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. @dmtrKovalenko ๊ฐ€ ์ฃฝ์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค!
๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด ์ž…์žฅ์„ ๋ฐ˜์˜ํ•˜๋„๋ก ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@rogerstorm ๋ฌธ์ œ๊ฐ€ material-ui-pickers๋กœ ํ•ด๊ฒฐ๋˜๋ฉด

๋‚˜๋Š” ๋‹น์‹ ์ด ๋ฐ˜ ๋†๋‹ด์ด์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ: cc @rogerstorm

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰