使用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 学习笔记(十一)
Jan 19 Javascript
jQuery ajax cache缓存问题
Jul 01 Javascript
5种处理js跨域问题方法汇总
Dec 04 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
Mar 18 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
Apr 30 Javascript
jQuery实现自动切换播放的经典滑动门效果
Sep 12 Javascript
js判断空对象的实例(超简单)
Jul 26 Javascript
Bootstrap 填充Json数据的实例代码
Jan 11 Javascript
jQuery 实现双击编辑表格功能
Jun 19 jQuery
javascript实现Java中的Map对象功能的实例详解
Aug 21 Javascript
vue自定义标签和单页面多路由的实现代码
May 03 Javascript
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
Apr 17 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
优化php效率,提高php性能的一些方法
2011/03/24 PHP
PHP冒泡算法详解(递归实现)
2014/11/10 PHP
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
asp.net 30分钟掌握无刷新 Repeater
2011/09/16 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
NodeJS学习笔记之网络编程
2014/08/03 NodeJs
javascript 操作符(~、&amp;、|、^、)使用案例
2014/12/31 Javascript
使用javascript实现json数据以csv格式下载
2015/01/09 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
打开电脑上的QQ的python代码
2013/02/10 Python
Python的Django框架中的URL配置与松耦合
2015/07/15 Python
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
Form表单及django的form表单的补充
2019/07/25 Python
详解html2canvas截图不能截取圆角图片的解决方案
2018/01/30 HTML / CSS
消防安全汇报材料
2014/02/08 职场文书
2014四风问题对照检查材料范文
2014/09/15 职场文书
七一建党节慰问信
2015/02/14 职场文书
用人单位聘用意向书
2015/05/11 职场文书
黄埔军校观后感
2015/06/10 职场文书
如何写好闭幕词
2019/04/02 职场文书