date-and-time.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <template>
  2. <div class="demo-datetime-picker">
  3. <div class="block">
  4. <span class="demonstration">Default</span>
  5. <el-date-picker
  6. v-model="value1"
  7. type="datetime"
  8. placeholder="Select date and time"
  9. />
  10. </div>
  11. <div class="block">
  12. <span class="demonstration">With shortcuts</span>
  13. <el-date-picker
  14. v-model="value2"
  15. type="datetime"
  16. placeholder="Select date and time"
  17. :shortcuts="shortcuts"
  18. />
  19. </div>
  20. <div class="block">
  21. <span class="demonstration">With default time</span>
  22. <el-date-picker
  23. v-model="value3"
  24. type="datetime"
  25. placeholder="Select date and time"
  26. :default-time="defaultTime"
  27. />
  28. </div>
  29. </div>
  30. </template>
  31. <script lang="ts" setup>
  32. import { ref } from 'vue'
  33. const value1 = ref('')
  34. const value2 = ref('')
  35. const value3 = ref('')
  36. const defaultTime = new Date(2000, 1, 1, 12, 0, 0)
  37. const shortcuts = [
  38. {
  39. text: 'Today',
  40. value: new Date(),
  41. },
  42. {
  43. text: 'Yesterday',
  44. value: () => {
  45. const date = new Date()
  46. date.setTime(date.getTime() - 3600 * 1000 * 24)
  47. return date
  48. },
  49. },
  50. {
  51. text: 'A week ago',
  52. value: () => {
  53. const date = new Date()
  54. date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
  55. return date
  56. },
  57. },
  58. ]
  59. </script>
  60. <style scoped>
  61. .demo-datetime-picker {
  62. display: flex;
  63. width: 100%;
  64. padding: 0;
  65. flex-wrap: wrap;
  66. }
  67. .demo-datetime-picker .block {
  68. padding: 30px 0;
  69. text-align: center;
  70. border-right: solid 1px var(--el-border-color);
  71. flex: 1;
  72. }
  73. .demo-datetime-picker .block:last-child {
  74. border-right: none;
  75. }
  76. .demo-datetime-picker .demonstration {
  77. display: block;
  78. color: var(--el-text-color-secondary);
  79. font-size: 14px;
  80. margin-bottom: 20px;
  81. }
  82. </style>