使用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在IE7下无法使用 $.ajax解决方法
Nov 11 Javascript
javascript得到当前页的来路即前一页地址的方法
Feb 18 Javascript
checkbox选中与未选中判断示例
Aug 04 Javascript
javascript中解析四则运算表达式的算法和示例
Aug 11 Javascript
jQuery简单实现日历的方法
May 04 Javascript
详解JavaScript中setSeconds()方法的使用
Jun 11 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
Aug 03 Javascript
bootstrap实现每隔5秒自动轮播效果
Dec 20 Javascript
loading动画特效小结
Jan 22 Javascript
简单谈谈关于 npm 5.0 的新坑
Jun 08 Javascript
Angularjs为ng-click事件传递参数
Jun 15 Javascript
五分钟搞懂Vuex实用知识(小结)
Aug 12 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数组函数序列之array_search()- 按元素值返回键名
2011/11/04 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
2014/06/26 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
JS JavaScript获取Url参数,src属性参数
2021/03/09 Javascript
javascript 流畅动画实现原理
2009/09/08 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
2012/12/04 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
正则表达式,替换所有HTML标签的简单实例
2016/11/28 Javascript
Javascript计算二维数组重复值示例代码
2016/12/18 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
angularjs实现首页轮播图效果
2017/04/14 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
2018/11/11 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
numpy.linspace 生成等差数组的方法
2018/07/02 Python
python__name__原理及用法详解
2019/11/02 Python
opencv设置采集视频分辨率方式
2019/12/10 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
使用豆瓣源来安装python中的第三方库方法
2021/01/26 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
工商企业管理实习自我鉴定
2013/12/04 职场文书
运动会邀请函范文
2014/02/06 职场文书
给老师的检讨书
2014/02/11 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
公司外出活动方案
2014/08/14 职场文书
年终工作总结范文2014
2014/11/27 职场文书
培训感想范文
2015/08/07 职场文书
初三化学教学反思
2016/02/22 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书
golang import自定义包方式
2021/04/29 Golang