使用Vant完成DatetimePicker 日期的选择器操作


Posted in Javascript onNovember 12, 2020

效果展示:

使用Vant完成DatetimePicker 日期的选择器操作

代码展示:

<template>
 <div id="date_time_picker">
 
 <van-button plain type="primary" @click="showPopFn()">点击选择日期</van-button>
 <van-field v-model="timeValue" placeholder="选择的日期结果" readonly />
 <van-popup v-model="show" position="bottom" :style="{ height: '40%' }">
 <van-datetime-picker v-model="currentDate" type="date" @change="changeFn()" @confirm="confirmFn()" @cancel="cancelFn()" />
 </van-popup>
 
 </div>
</template>
<script>
 export default {
 data() {
 return {
 msg: '',
 currentDate: new Date(),
 changeDate: new Date(),
 show: false, // 用来显示弹出层
 timeValue: ''
 }
 },
 methods: {
 showPopFn() {
 this.show = true;
 },
 showPopup() {
 this.show = true;
 },
 changeFn() { // 值变化是触发
 this.changeDate = this.currentDate // Tue Sep 08 2020 00:00:00 GMT+0800 (中国标准时间)
 },
 confirmFn() { // 确定按钮
 this.timeValue = this.timeFormat(this.currentDate);
 this.show = false;
 },
 cancelFn(){
 this.show = true;
 },
 timeFormat(time) { // 时间格式化 2019-09-08
 let year = time.getFullYear();
 let month = time.getMonth() + 1;
 let day = time.getDate();
 return year + '年' + month + '月' + day + '日'
 }
 },
 mounted() {
 this.timeFormat(new Date());
 }
 }
</script>
 
<style>
</style>

注意:如果是按需引入的话,记得在main.js里面引入相应的文件奥。

// main.js文件里面的部分代码
import {Button} from 'vant'
import { DatetimePicker } from 'vant';
import { Popup } from 'vant';
import { Field } from 'vant'; 
 
Vue.use(Button)
Vue.use(DatetimePicker)
Vue.use(Popup)
Vue.use(Field);

---------完。

补充知识:小程序使用vant组件库里的DatetimePicker 时间选择的使用,以及如何使用里面的函数

小程序使用vant组件库里的DatetimePicker 时间选择的使用(困扰我最大的坑,听我慢慢细说)?

由于我想要在小程序里加入vant库的时间选择器,看了一下vant的官方文档后,十分觉得里面说的太过简洁,让我看的很迷:

第一点看不懂的是明明例子都有写出来了,代码还没有贴出来,只贴出了基本的例子的代码:

使用Vant完成DatetimePicker 日期的选择器操作

下面这个代码:

使用Vant完成DatetimePicker 日期的选择器操作

效果也不是上图的效果;

一些参数的解释让我也饶了一大圈,才成功通过改这些参数,成功弄成这个样式出来

会让人误会的说明:

使用Vant完成DatetimePicker 日期的选择器操作

后面我把这个type改成year-month-time就可以了,具体代码如下:

<van-datetime-picker
       type="year-month-time"
       value="{{ currentDate }}"
       min-date="{{ minDate }}"
       bind:input="onInput"
       bind:confirm="onConfirm"
       bind:change="onChange"
  />
 
data:{
   minHour: 0,
  maxHour: 24,
  minDate: new Date().getTime(),
  currentDate: new Date().getTime(),
} 
 
 onInput(event) {
  this.setData({
   currentDate: event.detail,
  });
 },

就可以呈现出上面那种效果了。

第二点看不懂的是:如何使用change里的函数(文档里面也没有例子,也没有说明,而网上大部分都是网页来使用,半点没有涉及到小程序的,就算有涉及到,也是乱说的,或者是如何使用vant而已):

使用Vant完成DatetimePicker 日期的选择器操作

解决方案:使用里面的event.detail来调用getValues(),而不能使用event.getValues().

onChange(event){
 this.setData({
  reserveCopyTime:event.detail.getValues(),
 })
  
 },

以上这篇使用Vant完成DatetimePicker 日期的选择器操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS根据年月获得当月天数的实现代码
Jul 03 Javascript
jquery制作多功能轮播图插件
Apr 02 Javascript
详解微信小程序——自定义圆形进度条
Dec 29 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
Dec 29 Javascript
vue.js开发环境安装教程
Mar 17 Javascript
Angular通过angular-cli来搭建web前端项目的方法
Jul 27 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
Aug 28 jQuery
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
Aug 12 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
Aug 24 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
Jan 21 Javascript
关于angular 8.1使用过程中的一些记录
Nov 25 Javascript
如何在vue中使用video.js播放m3u8格式的视频
Feb 01 Vue.js
JavaScript 实现拖拽效果组件功能(兼容移动端)
Nov 11 #Javascript
vant 中van-list的用法说明
Nov 11 #Javascript
让Vue响应Map或Set的变化操作
Nov 11 #Javascript
vue项目中使用rem,在入口文件添加内容操作
Nov 11 #Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
Nov 11 #Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
Nov 11 #Javascript
Vue 401配合Vuex防止多次弹框的案例
Nov 11 #Javascript
You might like
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
php调用google接口生成二维码示例
2014/04/28 PHP
基于PHP实现数据分页显示功能
2016/05/26 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
angularJS 入门基础
2015/02/09 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
如何用原生js写一个弹窗消息提醒插件
2019/05/24 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
2019/11/15 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
深入学习python的yield和generator
2016/03/10 Python
python的格式化输出(format,%)实例详解
2018/06/01 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
python实现静态服务器
2019/09/05 Python
python FTP编程基础入门
2021/02/27 Python
生物制药专业求职信
2014/03/11 职场文书
装修协议书范本
2014/04/21 职场文书
销售口号大全
2014/06/11 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
新闻稿件写作范文
2015/07/18 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
Python使用OpenCV实现虚拟缩放效果
2022/02/28 Python
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers