uniapp中uview组件库的DatetimePicker 选择器的用法

简介: uniapp中uview组件库的DatetimePicker 选择器的用法

基本使用

  • 通过show绑定一个布尔值变量,用于控制组件的弹出与收起。
  • 通过mode配置选择何种日期格式。
<template>
  <view>
        <u-datetime-picker
                :show="show"
                v-model="value1"
                mode="datetime"
        ></u-datetime-picker>
    <u-button @click="show = true">打开</u-button>
  </view>
</template>
<script>
  export default {
    data() {
      return {
        show: false,
                value1: Number(new Date()),
      }
    }
  }
</script>

#年 月 日

此模式通过mode设置为date

<template>
    <view>
        <u-datetime-picker
                :show="show"
                v-model="value1"
                mode="date"
        ></u-datetime-picker>
        <u-button @click="show = true">打开</u-button>
    </view>
</template>
<script>
  export default {
        data() {
            return {
                show: false,
                value1: Number(new Date()),
            }
        }
  }
</script>

#格式化

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

注意:

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

<template>
    <view>
        <u-datetime-picker
      ref="datetimePicker"
      :show="show"
            v-model="value1"
      mode="datetime"
      :formatter="formatter"
        ></u-datetime-picker>
        <u-button @click="show = true">打开</u-button>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                show: false,
                value1: Number(new Date()),
            }
        },
    onReady() {
      // 微信小程序需要用此写法
      this.$refs.datetimePicker.setFormatter(this.formatter)
    },
        methods: {
            formatter(type, value) {
                if (type === 'year') {
                    return `${value}年`
                }
                if (type === 'month') {
                    return `${value}月`
                }
                if (type === 'day') {
                    return `${value}日`
                }
                return value
            },
        },
    }
</script>

#限制最大最小值

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

<template>
    <view>
        <u-datetime-picker
                :show="show"
                v-model="value1"
                :minDate="1587524800000"
                :maxDate="1786778555000"
                mode="datetime"
        ></u-datetime-picker>
        <u-button @click="show = true">打开</u-button>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                show: false,
                value1: Number(new Date()),
            }
        }
    }
</script>

API

#Props

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

#Events

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

#Methods

方法名 说明
setFormatter 为兼容微信小程序而暴露的内部方法,见上方说明
相关文章
|
2月前
|
数据可视化 前端开发 UED
低代码可视化-Uniapp Cascader级联选择器-代码生成器
Cascader级联选择器是一种常用的UI组件,适用于从具有层级关系的数据中进行选择,如省市区选择、公司层级选择等。它通过分组多列展示选项,支持多级分类、联动选择、搜索与过滤等功能。组件具备自定义样式、禁用选项、清空选项等特性,广泛应用于电商、企业内部系统等场景。代码示例展示了其详细的实现和调用方法。
100 7
低代码可视化-Uniapp Cascader级联选择器-代码生成器
|
2月前
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
60 0
在线课堂+工具组件小程序uniapp移动端源码
|
3月前
|
数据挖掘
uniapp uview扩展u-picker支持日历期间 年期间 月期间 时分期间组件
uniapp uview扩展u-picker支持日历期间 年期间 月期间 时分期间组件
188 10
|
3月前
|
移动开发 JavaScript 前端开发
UniApp低代码-颜色选择器diy-color-picker-代码生成器
UniApp低代码-颜色选择器diy-color-picker-代码生成器
129 5
|
3月前
|
搜索推荐 JavaScript 数据可视化
uniapp/vue个性化单选、复选组件
uniapp/vue个性化单选、复选组件
158 5
|
3月前
|
数据可视化 大数据 API
低代码可视化开发-uniapp新闻跑马灯组件-代码生成器
低代码可视化开发-uniapp新闻跑马灯组件-代码生成器
183 2
|
3月前
|
存储 API 数据库
uniapp APP自动更新组件
uniapp APP自动更新组件
122 1
|
3月前
|
机器学习/深度学习 算法 数据可视化
UniApp手机滑块验证组件代码生成器
UniApp手机滑块验证组件代码生成器
123 1
|
3月前
Uniapp矩阵评分组件
Uniapp矩阵评分组件
66 1
|
3月前
|
移动开发 编解码 数据可视化
低代码可视化-uniapp SliderRange区间组件-代码生成器
SliderRange区间组件是一种用户界面元素,允许用户通过拖动滑块选择数值范围。组件支持微信小程序、H5和App,具有高度可定制性、响应式设计和多种事件处理功能。适用于价格筛选、音量调节等场景。代码实现包括滑动区域、滑块、事件处理等部分,支持可视化配置步长、颜色等属性。使用时需注意选择合适步长、提供清晰标签和考虑无障碍设计。
78 0

热门文章

最新文章