在vant中使用时间选择器和popup弹出层的操作


Posted in Javascript onNovember 04, 2020

我就废话不多说了,大家还是直接看代码吧~

在vant中使用时间选择器和popup弹出层的操作

<template> 
 <div class="page">
  <van-cell-group>
      <van-cell
       title="选择日期"
       :value="datetime"
       arrow
       @click="showDatePicker = !showDatePicker"
      ></van-cell>
 </van-cell-group>
 <van-popup v-model="showDatePicker" position="bottom" :style="{ height: '40%' }">
   <van-datetime-picker
    v-model="currentDate"
    @confirm="
     showDatePicker = false;
     onchangDate1();
    "
    @cancel="showDatePicker = false"
    title="时间选择"
    type="date"
   />
  </van-popup>
 </div>
<template>
<script>
  import { Cell, CellGroup, DatetimePicker, Popup } from "vant";
  import Vue from "vue";
  export default {
   //组件 Q2组件需要正确注册,才能被页面识别
   components: {
     [Cell.name]: Cell,
     [CellGroup.name]: CellGroup,
     [DatetimePicker.name]: DatetimePicker,
     [Popup.name]: Popup
   },
 //数据层
 data() {
  return {
   datetime: "",
   currentDate: "",  //初始化当前时间
   showDatePicker: false, //判断popup弹出层是否显示,false不显示
  };
 },
 created() {
  this.currentDate = new Date();  //给当前时间赋值
  this.datetime = this.common.dateToString(this.currentDate);  //给单元格显示当前时间的变量赋值
 },
 mounted() {},
 methods: {
  onchangDate1() {
   //currentDate值就是选择的时间,把改变后的值赋值给单元格变量显示
   this.datetime = this.common.dateToString(this.currentDate);  
  }
 }
};
</script>

补充知识:vant的popup、Datetimepicker控件滚动穿透

今天一边改bug一边测试发现,vant的popup跟DatetimePicker会出现滚动穿透。

解决办法:使用preventDefault阻止body的touchmove事件。

方法1

在vant中使用时间选择器和popup弹出层的操作

在vant中使用时间选择器和popup弹出层的操作

方法2

在全局注册v-roll指令,结合timeDatePicker使用(如第二图)。bodyVisible初始状态为false,在弹层打开时改变,弹层点击确认跟取消时也需要改变!

在vant中使用时间选择器和popup弹出层的操作

在vant中使用时间选择器和popup弹出层的操作

解决办法源于另一个作者的,附上对方的文章链接(他用的是Mint-ui,但是框架这种东西,大同小异吧,东西都差不多,遇到的问题,很多解决办法都可以相通)

以上这篇在vant中使用时间选择器和popup弹出层的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery中文入门指南,翻译加实例,jQuery的起点教程
Feb 09 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
Feb 26 Javascript
JS 精确统计网站访问量的实例代码
Jul 05 Javascript
asp.net刷新本页面的六种方法总结
Jan 07 Javascript
JS简单实现禁止访问某个页面的方法
Sep 13 Javascript
动态JavaScript所造成一些你不知道的危害
Sep 25 Javascript
简单谈谈原生js的math对象
Jun 27 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
Mar 07 Javascript
vue 中 beforeRouteEnter 死循环的问题
Apr 23 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
Nov 05 Javascript
微信小程序实现点击导航条切换页面
Nov 19 Javascript
Vue ECharts实现机舱座位选择展示功能
May 15 Vue.js
vue 判断两个时间插件结束时间必选大于开始时间的代码
Nov 04 #Javascript
vant 时间选择器--开始时间和结束时间实例
Nov 04 #Javascript
Vue绑定用户接口实现代码示例
Nov 04 #Javascript
vant picker+popup 自定义三级联动案例
Nov 04 #Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
Nov 04 #Javascript
vantUI 获得piker选中值的自定义ID操作
Nov 04 #Javascript
浅谈vant组件Picker 选择器选单选问题
Nov 04 #Javascript
You might like
linux php mysql数据库备份实现代码
2009/03/10 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
PHP时间和日期函数详解
2015/05/08 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
6个DIV 135或246间隔一秒轮番显示效果
2010/07/24 Javascript
javascript校验价格合法性实例(必须输入2位小数)
2014/05/05 Javascript
JS中捕获console.log()输出的方法
2015/04/16 Javascript
APP中javascript+css3实现下拉刷新效果
2016/01/27 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
uni-app 组件里面获取元素宽高的实现
2019/12/27 Javascript
JavaScript实现Excel表格效果
2020/02/07 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
node.js如何操作MySQL数据库
2020/10/29 Javascript
pydev使用wxpython找不到路径的解决方法
2013/02/10 Python
在Python中使用PIL模块对图片进行高斯模糊处理的教程
2015/05/05 Python
python实现中文分词FMM算法实例
2015/07/10 Python
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
Python如何读写字节数据
2020/08/05 Python
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
优秀大学生推荐信范文
2013/11/28 职场文书
门店店长岗位职责
2015/04/14 职场文书
学校元旦晚会开场白
2015/05/29 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
如何用JS实现简单的数据监听
2021/05/06 Javascript
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL