index.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. // components/My_selectTime/index.js
  2. Component({
  3. /**
  4. * 组件的属性列表
  5. */
  6. properties: {
  7. /* 最小时间 */
  8. minDate: {
  9. type: Number,
  10. value: -284025600000, //1961.1.1
  11. },
  12. /* 最大选择时间 */
  13. maxDate: {
  14. type: Number,
  15. value: Date.parse(new Date()) //当前时间
  16. },
  17. /* 弹窗显示 */
  18. showSelectTime: {
  19. type: Boolean,
  20. value: false
  21. },
  22. /* 保存回调 */
  23. getTimeData: {
  24. type: Function,
  25. }
  26. },
  27. /**
  28. * 组件的初始数据
  29. */
  30. data: {
  31. currentDate: new Date().getTime(),
  32. formatter(type, value) {
  33. if (type === 'year') {
  34. return `${value}年`;
  35. }
  36. if (type === 'month') {
  37. return `${value}月`;
  38. }
  39. return value;
  40. },
  41. },
  42. /**
  43. * 组件的方法列表
  44. */
  45. methods: {
  46. submit() {
  47. const time = new Date(this.data.currentDate),
  48. setTime = time.getFullYear() + '-' + (time.getMonth() + 1) + "-" + time.getDate();
  49. this.triggerEvent("getTimeData", setTime)
  50. this.setData({
  51. showSelectTime: false
  52. })
  53. },
  54. onInput(event) {
  55. this.setData({
  56. currentDate: event.detail,
  57. });
  58. },
  59. dateOnClose() {
  60. this.setData({
  61. showSelectTime: !this.data.showSelectTime
  62. })
  63. },
  64. }
  65. })