uView DatetimePicker 选择器

此选择器用于时间日期

#平台差异说明

App(vue) App(nvue) H5 小程序

#基本使用

  • 通过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>

copy

#年 月 日

此模式通过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>

copy

#格式化

如有需要,可以通过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>

copy

#限制最大最小值

参数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>
相关推荐
難釋懷17 小时前
微信小程序案例 - 本地生活(首页)
微信小程序·生活·notepad++
難釋懷1 天前
微信小程序WXSS 模板样式
微信小程序·小程序·notepad++
高压锅_12204 天前
Cursor+Coze+微信小程序实战: AI春联生成器
人工智能·微信小程序·notepad++
Klaus_Wei4 天前
Notepad++正则表达全解
notepad++·正则表达·notepad搜索·正则搜索
毛毛三由4 天前
基于svga+uniapp的微信小程序动画组件开发指南
微信小程序·uni-app·notepad++
【ql君】qlexcel11 天前
Notepad++ 复制宏、编辑宏的方法
开发语言·javascript·notepad++··宏编辑·宏复制
程序员陆通11 天前
Vibe Coding开发微信小程序实战案例
微信小程序·小程序·notepad++·ai编程
nbsaas-boot11 天前
[特殊字符] 分享裂变新姿势:用 UniApp + Vue3 玩转小程序页面分享跳转!
小程序·uniapp·notepad++
唯独不开心20 天前
NotePad++ 怎么没有找到插件管理?
notepad++
橘子海全栈攻城狮21 天前
【源码+文档+调试讲解】基于web的运动健康小程序的设计与实现y196
java·开发语言·小程序·notepad++