DatePicker 日期选择器 APP
该方法或组件支持移动端小程序调用
PC
该方法或组件支持桌面端小程序调用

引入方式

数字生活小程序工程中,不需要 import,直接使用组件标签即可。

import {DatePicker} from '@21cnfe/vui'  
Vue.component('DatePicker', DatePicker)

代码演示

基本用法 根据需求选择 type 使用相应类型,fomat 设置格式,配合其他组件点击事件调用该组件的 open 事件展开; 根据传入的日期格式返回数据,使用格式属性设置选择栏格式,visibleItemCount 属性设置选择栏展示数目。 时:分
<template>
<List>
<span slot="header">时间</span>
<Item class="test-style" arrow="horizontal" @onClick="handleClick">
<div slot="title">Time</div>
<div slot="content">{{pickTime}}</div>
</Item>
</List>
<date-picker
type="time"
ref="timePicker"
v-model="demoTime"
@confirm="confirm"
format="hh时mm分"
/>
</template>
<script>
export default {
data () {
return {
demoTime: '12:23',
pickTime: '12:23'
}
},
methods: {
handleClick () {
this.$refs.timePicker.open()
console.log('handle list item click')
},
confirm (value) {
this.pickTime = value
console.log(this.pickTime)
}
}
}
</script>
年/月/日
<template>
<List>
<span slot="header">日期</span>
<Item class="test-style" arrow="horizontal" @onClick="handleClickDate">
<div slot="title">Date</div>
<div slot="content">{{pickDate}}</div>
</Item>
</List>
<date-picker
type="date"
ref="datePicker"
v-model="demoDate"
@confirm="confirmDate"
format="yyyy年MM月dd日"
/>
</template>
<script>
export default {
data () {
return {
demoDate: new Date('2017/05/12'),
pickDate: '2017-05-12'
}
},
methods: {
handleClickDate () {
this.$refs.datePicker.open()
// console.log('handle list item click')
},
confirmDate (value) {
this.pickDate = value
console.log(this.pickDate)
}
}
}
</script>
年/月/日 时:分
<template>
<List>
<span slot="header">日期时间</span>
<Item class="test-style" arrow="horizontal" @onClick="handleClickDateTime">
<div slot="title">DateTime</div>
<div slot="content">{{pickDateTime}}</div>
</Item>
</List>
<date-picker
type="datetime"
ref="datetimePicker"
v-model="demoDateTime"
@confirm="confirmDateTime"
format="yyyy年MM月dd日hh时mm分"
/>
</template>
<script>
export default {
data () {
return {
demoDateTime: new Date('2017/05/12 12:30'),
pickDateTime: '2017/05/12 12:30'
}
},
methods: {
handleClickDateTime () {
this.$refs.datetimePicker.open()
// console.log('handle list item click')
},
confirmDateTime (value) {
this.pickDateTime = value
// console.log(this.pickDateTime)
}
}
}
</script>
<template>
<List>
<span slot="header"></span>
<Item class="test-style" arrow="horizontal" @onClick="handleClickYear">
<div slot="title">year</div>
<div slot="content">{{pickYear}}</div>
</Item>
</List>
<date-picker
type="year"
ref="yearPicker"
v-model="demoYear"
@confirm="confirmYear"
format="yyyy年"
/>
</template>
<script>
export default {
data () {
return {
demoYear: new Date('2017'),
pickYear: '2017'
}
},
methods: {
confirmYear (value) {
this.pickYear = value
},
handleClickYear () {
this.$refs.yearPicker.open()
}
}
}
</script>
年/月
<template>
<List>
<span slot="header">年月</span>
<Item class="test-style" arrow="horizontal" @onClick="handleClickMonth">
<div slot="title">month</div>
<div slot="content">{{pickMonth}}</div>
</Item>
</List>
<date-picker
type="month"
ref="monthPicker"
v-model="demoMonth"
@confirm="confirmMonth"
format="yyyy年MM月"
/>
</template>
<script>
export default {
data () {
return {
demoMonth: new Date('2017/05'),
pickMonth: '2017/05'
}
},
methods: {
handleClickMonth () {
this.$refs.monthPicker.open()
},
confirmMonth (value) {
this.pickMonth = value
}
}
}
</script>
农历示例
  <template>
<List>
<span slot="header">农历日期</span>
<Item class="test-style" arrow="horizontal" @onClick="handleClickLunarDate">
<div slot="title">Date</div>
<div slot="content">{{pickLunarDate}}</div>
</Item>
<date-picker
type="date"
ref="datePickerLunar"
v-model="demoDate"
@confirm="confirmLunarDate"
format="yyyy年MM月dd日"
:showLunar="true"
/>
</List>
</template>
<script>
export default {
data () {
return {
pickLunarDate: '2021年十月廿八'
}
},
methods: {
handleClickLunarDate () {
this.$refs.datePickerLunar.open()
},
confirmLunarDate (res) {
this.pickLunarDate = res.lunarVal
}
}
}
</script>

API

属性 说明 类型 默认值
v-model 选中值 String --
type 组件的类型 String 可选值为datetime, date, time, year, month
title 标题文本 String --
cancelText 取消按钮文本 String '取消'
confirmText 确定按钮文本 String '确定'
startDate 日期的最小可选值 Date 十年前的 1 月 1 日
endDate 日期的最大可选值 Date 十年后的 12 月 31 日
startHour 小时的最小可选值 Number 0
endHour 小时的最大可选值 Number 23
format 展示格式 String --
visibleItemCount 可见选项数 Number 7

Events

事件名称 说明 回调参数
cancel 点击取消按钮时的回调函数 --
confirm 点击确认按钮时的回调函数 当前选中值

Methods

方法名 说明 参数
open 打开选择器 --
close 关闭选择器 --
  1. 1. DatePicker 日期选择器 APP 该方法或组件支持移动端小程序调用 PC 该方法或组件支持桌面端小程序调用
    1. 1.1. 引入方式
    2. 1.2. 代码演示
    3. 1.3. API
    4. 1.4. Events
    5. 1.5. Methods