index.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // commpents/timePicker/index.js
  2. Component({
  3. /**
  4. * 组件的属性列表
  5. */
  6. properties: {
  7. label: { type: String },
  8. model: { type: String },
  9. value: { type: String }
  10. },
  11. /**
  12. * 组件的初始数据
  13. */
  14. data: {
  15. minDate: new Date().getTime(),
  16. currentDate: new Date().getTime(),
  17. text: '',
  18. show: false,
  19. },
  20. onload() {
  21. console.log('in');
  22. if (this.properties.value) {
  23. const val = this.properties.value
  24. this.setData({
  25. currentDate: val,
  26. text: val
  27. })
  28. }
  29. },
  30. /**
  31. * 组件的方法列表
  32. */
  33. methods: {
  34. toConfirm(event) {
  35. const data = event.detail;
  36. const datetimestr = this.getDateString(data)
  37. this.setData({
  38. currentDate: event.detail,
  39. text: datetimestr
  40. });
  41. this.triggerEvent('selected', { value: datetimestr, model: this.properties.model })
  42. this.toClose();
  43. },
  44. getDateString(datetime) {
  45. datetime = new Date(datetime);
  46. const year = datetime.getFullYear();
  47. let month = datetime.getMonth() + 1;
  48. if (month < 10) month = `0${month}`
  49. let date = datetime.getDate();
  50. if (date < 10) date = `0${date}`
  51. let hours = datetime.getHours();
  52. if (hours < 10) hours = `0${hours}`
  53. let min = datetime.getMinutes();
  54. if (min < 10) min = `0${min}`
  55. return `${year}-${month}-${date} ${hours}:${min}`
  56. },
  57. toOpen() {
  58. this.setData({
  59. show: true
  60. })
  61. },
  62. toClose() {
  63. this.setData({
  64. show: false,
  65. })
  66. },
  67. }
  68. })