转载:mint-ui 时间选择器Datetime Picker的用法,默认不是当前时间,有一节空白

查看原文

使用了mint-ui,里面的文档实在太简略了,有许多方法和配置都没有具体配置,要自己去摸索,实在是揪心。今天使用mint-ui的时间选择器时默认有一节留白,看着不是很舒服,而且默认的时间也是系统设置的开始时间。(类似下图)


解决方法是   把picker 的时间默认为当前时间(或者看需求定义成需求时间)

设置了 new Date()之后就正常了,默认当前时间居中显示,如果觉得年份太多,可以设置开始时间和结束时间,文档有写。

同时也看到了很多朋友提出了一些疑问,所以我把代码贴出来吧:


  
  
  1. <template>
  2. <div class="pickerDemo">
  3. <div class="showTime">
  4. <p class="timeDes">当前时间是:{{this.selectedValue}} </p>
  5. <div class="selectTime" @click="selectData">选择时间 </div>
  6. </div>
  7. <!-- @touchmove.prevent 阻止默认事件,此方法可以在选择时间时阻止页面也跟着滚动。 -->
  8. <div class="pickerPop" @touchmove.prevent>
  9. <!-- 年月日时分选择 -->
  10. <mt-datetime-picker
  11. lockScroll= "true"
  12. ref= "datePicker"
  13. v-model= "dateVal"
  14. class= "myPicker"
  15. type= "datetime"
  16. year-format= "{value}"
  17. month-format= "{value}"
  18. date-format= "{value}"
  19. hour-format= "{value}"
  20. minute-format= "{value}"
  21. second-format= "{value}"
  22. @ confirm= "dateConfirm()">
  23. </mt-datetime-picker>
  24. </div>
  25. </div>
  26. </template>
  27. <script>
  28. import Vue from 'vue'
  29. import {formatDateMin} from '@/assets/js/util/formatdate.js'
  30. import {DatetimePicker } from 'mint-ui'
  31. Vue.component(DatetimePicker.name, DatetimePicker)
  32. export default {
  33. name: 'pickerDemo',
  34. data () {
  35. return {
  36. dateVal: '', // 默认是当前日期
  37. selectedValue: ''
  38. }
  39. },
  40. components: {
  41. },
  42. created () {
  43. },
  44. mounted () {
  45. let that = this
  46. },
  47. methods: {
  48. selectData () { // 打开时间选择器
  49. // 如果已经选过日期,则再次打开时间选择器时,日期回显(不需要回显的话可以去掉 这个判断)
  50. if ( this.selectedValue) {
  51. this.dateVal = this.selectedValue
  52. } else {
  53. this.dateVal = new Date()
  54. }
  55. this.$refs[ 'datePicker'].open()
  56. },
  57. dateConfirm () { // 时间选择器确定按钮,并把时间转换成我们需要的时间格式
  58. this.selectedValue = formatDateMin( this.dateVal)
  59. }
  60. }
  61. }
  62. </script>
  63. <style scoped lang="less">
  64. .pickerDemo{
  65. width: 100%;
  66. height: 18rem;
  67. background-color: #ccc;
  68. .showTime{
  69. display: flex;
  70. flex-direction: column;
  71. align-items: center;
  72. padding-top: 2rem;
  73. .timeDes{
  74. font-size: 0.4rem;
  75. color: red;
  76. }
  77. .selectTime{
  78. display: inline-block;
  79. width: 4rem;
  80. height: 1rem;
  81. line-height: 1rem;
  82. text-align: center;
  83. background-color: #ff776d;
  84. color: #fff;
  85. font-size: 0.24rem;
  86. border-radius: 8px;
  87. margin-top: 1rem;
  88. }
  89. }
  90. }
  91. .pickerPop{
  92. /deep/ .picker{
  93. .picker-toolbar{
  94. background-color: #eee;
  95. .mint-datetime-action{
  96. font-size: 0.26rem;
  97. color: #000!important;
  98. }
  99. }
  100. }
  101. }
  102. </style>

年月日的选择器也是类似的,把picker的 type 换一下。

css里面重点说一下 时间选择器怎么改里面的ui样式:把 /deep/给加上,但改的样式也有限,看需求吧。

同时把那个时间转换 的util工具类我也帖出来吧。


  
  
  1. // 只有年月日
  2. export function formatDate (secs) {
  3. var t = new Date(secs)
  4. var year = t.getFullYear()
  5. var month = t.getMonth() + 1
  6. if (month < 10) { month = '0' + month }
  7. var date = t.getDate()
  8. if (date < 10) { date = '0' + date }
  9. var hour = t.getHours()
  10. if (hour < 10) { hour = '0' + hour }
  11. var minute = t.getMinutes()
  12. if (minute < 10) { minute = '0' + minute }
  13. var second = t.getSeconds()
  14. if (second < 10) { second = '0' + second }
  15. return year + '-' + month + '-' + date
  16. }
  17. // 年月日时分
  18. export function formatDateMin (secs) {
  19. var t = new Date(secs)
  20. var year = t.getFullYear()
  21. var month = t.getMonth() + 1
  22. if (month < 10) { month = '0' + month }
  23. var date = t.getDate()
  24. if (date < 10) { date = '0' + date }
  25. var hour = t.getHours()
  26. if (hour < 10) { hour = '0' + hour }
  27. var minute = t.getMinutes()
  28. if (minute < 10) { minute = '0' + minute }
  29. var second = t.getSeconds()
  30. if (second < 10) { second = '0' + second }
  31. return year + '-' + month + '-' + date + ' ' + hour + ':' + minute + ':' + second
  32. }

最终效果:日期可以回显。

发布了27 篇原创文章 · 获赞 21 · 访问量 4620

使用了mint-ui,里面的文档实在太简略了,有许多方法和配置都没有具体配置,要自己去摸索,实在是揪心。今天使用mint-ui的时间选择器时默认有一节留白,看着不是很舒服,而且默认的时间也是系统设置的开始时间。(类似下图)

猜你喜欢

转载自blog.csdn.net/weixin_43997143/article/details/97801949