使用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 相关文章推荐
JavaScript 基础问答三
Dec 03 Javascript
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
Dec 02 Javascript
javascript 特性检测并非浏览器检测
Jan 15 Javascript
仿微博字符限制效果实现代码
Apr 20 Javascript
精通JavaScript的this关键字
May 28 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
May 31 Javascript
jQuery插件扩展extend的简单实现原理
Jun 24 Javascript
基于JavaScript实现随机颜色输入框
Dec 10 Javascript
微信小程序之picker日期和时间选择器
Feb 09 Javascript
Bootstrap 3 按钮标签实例代码
Feb 21 Javascript
基于JavaScript实现无缝滚动效果
Jul 21 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
May 08 Javascript
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
PHP递归返回值时出现的问题解决办法
2013/02/19 PHP
深入extjs与php参数交互的详解
2013/06/25 PHP
php关联数组快速排序的方法
2015/04/17 PHP
php使用json-schema模块实现json校验示例
2019/09/28 PHP
JS解决url传值出现中文乱码的另类办法
2013/04/08 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
2017/02/14 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
JS实现仿微信支付弹窗功能
2018/06/25 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
vue自定义js图片碎片轮播图切换效果的实现代码
2019/04/28 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
Python使用gensim计算文档相似性
2016/04/10 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
python2使用bs4爬取腾讯社招过程解析
2019/08/14 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
.net软件工程师面试题
2015/03/31 面试题
教师研修随笔感言
2014/01/23 职场文书
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
职工宿舍管理制度
2015/08/05 职场文书
军训后的感想
2015/08/07 职场文书
2016见义勇为事迹材料汇总
2016/03/01 职场文书
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android