当前位置:   article > 正文

uniapp中uview组件库的DatetimePicker 选择器的用法_u-datetime-picker

u-datetime-picker

目录

基本使用

#年 月 日

#格式化

#限制最大最小值

API

#Props

#Events

#Methods


基本使用

  • 通过show绑定一个布尔值变量,用于控制组件的弹出与收起。
  • 通过mode配置选择何种日期格式。
  1. <template>
  2. <view>
  3. <u-datetime-picker
  4. :show="show"
  5. v-model="value1"
  6. mode="datetime"
  7. ></u-datetime-picker>
  8. <u-button @click="show = true">打开</u-button>
  9. </view>
  10. </template>
  11. <script>
  12. export default {
  13. data() {
  14. return {
  15. show: false,
  16. value1: Number(new Date()),
  17. }
  18. }
  19. }
  20. </script>

#年 月 日

此模式通过mode设置为date

  1. <template>
  2. <view>
  3. <u-datetime-picker
  4. :show="show"
  5. v-model="value1"
  6. mode="date"
  7. ></u-datetime-picker>
  8. <u-button @click="show = true">打开</u-button>
  9. </view>
  10. </template>
  11. <script>
  12. export default {
  13. data() {
  14. return {
  15. show: false,
  16. value1: Number(new Date()),
  17. }
  18. }
  19. }
  20. </script>

#格式化

如有需要,可以通过formatter参数编写自定义格式化规则。

注意:

微信小程序不支持通过props传递函数参数,所以组件内部暴露了一个setFormatter方法用于设置格式化方法,注意在页面的onReady生命周期获取ref再操作。

  1. <template>
  2. <view>
  3. <u-datetime-picker
  4. ref="datetimePicker"
  5. :show="show"
  6. v-model="value1"
  7. mode="datetime"
  8. :formatter="formatter"
  9. ></u-datetime-picker>
  10. <u-button @click="show = true">打开</u-button>
  11. </view>
  12. </template>
  13. <script>
  14. export default {
  15. data() {
  16. return {
  17. show: false,
  18. value1: Number(new Date()),
  19. }
  20. },
  21. onReady() {
  22. // 微信小程序需要用此写法
  23. this.$refs.datetimePicker.setFormatter(this.formatter)
  24. },
  25. methods: {
  26. formatter(type, value) {
  27. if (type === 'year') {
  28. return `${value}年`
  29. }
  30. if (type === 'month') {
  31. return `${value}月`
  32. }
  33. if (type === 'day') {
  34. return `${value}日`
  35. }
  36. return value
  37. },
  38. },
  39. }
  40. </script>

#限制最大最小值

参数minDatemaxDate可以设置最大值和最小值(传入时间戳)。

  1. <template>
  2. <view>
  3. <u-datetime-picker
  4. :show="show"
  5. v-model="value1"
  6. :minDate="1587524800000"
  7. :maxDate="1786778555000"
  8. mode="datetime"
  9. ></u-datetime-picker>
  10. <u-button @click="show = true">打开</u-button>
  11. </view>
  12. </template>
  13. <script>
  14. export default {
  15. data() {
  16. return {
  17. show: false,
  18. value1: Number(new Date()),
  19. }
  20. }
  21. }
  22. </script>

API

#Props

参数说明类型默认值可选值
show用于控制选择器的弹出与收起Booleanfalsetrue
showToolbar是否显示顶部的操作栏Booleantruefalse
v-model绑定值String | Number--
title顶部标题String--
mode展示格式Stringdatetimedate为日期选择,time为时间选择,year-month为年月选择
maxDate可选的最大时间(时间戳毫秒)Number最大默认值为后10年-
minDate可选的最小时间(时间戳毫秒)Number最小默认值为前10年-
minHour可选的最小小时,仅mode=time有效Number0-
maxHour可选的最大小时,仅mode=time有效Number23-
minMinute可选的最小分钟,仅mode=time有效Number0-
maxMinute可选的最大分钟,仅mode=time有效Number59-
filter选项过滤函数Functionnull-
formatter输入过滤或格式化函数(如需兼容微信小程序,则只能通过setFormatter方法)Functionnull-
loading是否显示加载中状态Booleanfalsetrue
itemHeight各列中,单个选项的高度String | Number44-
cancelText取消按钮的文字String取消-
confirmText确认按钮的文字String确认-
cancelColor取消按钮的颜色String#909193-
confirmColor确认按钮的颜色String#3c9cff-
visibleItemCount每列中可见选项的数量String | Number5-
closeOnClickOverlay是否允许点击遮罩关闭选择器(注意:关闭事件需要自行处理,只会在开启closeOnClickOverlay后点击遮罩层执行close回调)Booleanfalsetrue
defaultIndex各列的默认索引Array[]-

#Events

事件名说明回调参数版本
close关闭选择器时触发--
confirm点击确定按钮时触发value:返回所选时间戳,mode:当前模式-
change当选择值变化时触发value:返回所选时间戳,mode:当前模式-
cancel点击取消按钮--

#Methods

方法名说明
setFormatter为兼容微信小程序而暴露的内部方法,见上方说明
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/565706
推荐阅读
相关标签
  

闽ICP备14008679号