使用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 相关文章推荐
JQuery.ajax传递中文参数的解决方法 推荐
Mar 28 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
Oct 11 Javascript
jQuery判断元素上是否绑定了指定事件的方法
Mar 17 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
May 25 Javascript
利用jQuery和CSS将背景图片拉伸
Oct 16 Javascript
原生JavaScript制作微博发布面板效果
Mar 11 Javascript
新入门node.js必须要知道的概念(必看篇)
Aug 10 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
Dec 05 jQuery
详解vue中组件参数
Jul 09 Javascript
vue如何解决循环引用组件报错的问题
Sep 22 Javascript
解决layer图标icon不加载的问题
Sep 04 Javascript
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
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
调频问题解答
2021/03/01 无线电
一个php作的文本留言本的例子(二)
2006/10/09 PHP
PHP文件注释标记及规范小结
2012/04/01 PHP
php实现阳历阴历互转的方法
2015/10/28 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
javascript GUID生成器实现代码
2009/10/31 Javascript
jQuery 表格插件整理
2010/04/27 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
Nodejs下使用gm圆形裁剪并合成图片的示例
2018/02/22 NodeJs
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
python dict.get()和dict['key']的区别详解
2016/06/30 Python
python实现手机通讯录搜索功能
2018/02/22 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
手把手教你如何安装Pycharm(详细图文教程)
2018/11/28 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
前端使用canvas生成盲水印的加密解密的实现
2020/12/16 HTML / CSS
DataReader和DataSet的异同
2014/12/31 面试题
保险公司年会主持词
2014/03/22 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
SpringBoot生成License的实现示例
2021/06/16 Java/Android
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL