使用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操作Cookies包括(读取添加与删除)
Dec 26 Javascript
javascript获取元素CSS样式代码示例
Nov 28 Javascript
javascript计算星座属相(十二生肖属相)示例代码
Jan 09 Javascript
jquery实现手机发送验证码的倒计时代码
Feb 12 Javascript
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
May 08 Javascript
jQuery对html元素的取值与赋值实例详解
Dec 18 Javascript
jQuery源码分析之sizzle选择器详解
Feb 13 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
Sep 26 Javascript
Vue组件开发技巧总结
Mar 04 Javascript
vue实现设置载入动画和初始化页面动画效果
Oct 28 Javascript
Vue项目移动端滚动穿透问题的实现
May 19 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
Jan 27 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
php操作redis命令及代码实例大全
2020/11/19 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
picChange 图片切换特效的函数代码
2010/05/06 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
jQuery无缝轮播图代码
2016/12/22 Javascript
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
BootStrap入门学习第一篇
2017/08/28 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
Vue.js 2.x之组件的定义和注册图文详解
2018/06/19 Javascript
JavaScript变速动画函数封装添加任意多个属性
2019/04/03 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
2019/11/07 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
详解Vue的mixin策略
2020/11/19 Vue.js
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
Python处理json字符串转化为字典的简单实现
2016/07/07 Python
python数据化运营的重要意义
2019/11/25 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
基于Django实现日志记录报错信息
2019/12/17 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
基于Python 函数和方法的区别说明
2021/03/24 Python
焦裕禄观后感
2015/06/03 职场文书
地震捐款简报
2015/07/21 职场文书
公司致全体员工的感谢信
2019/06/24 职场文书
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL
windows系统安装配置nginx环境
2022/06/28 Servers