在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 相关文章推荐
Javascript attachEvent传递参数的办法
Dec 14 Javascript
javascript与CSS复习(二)
Jun 29 Javascript
jQuery中end()方法用法实例
Jan 08 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
Jun 23 Javascript
分享自己用JS做的扫雷小游戏
Feb 17 Javascript
jQuery实现图片加载完成后改变图片大小的方法
Mar 29 Javascript
Bootstrap3制作自己的导航栏
May 12 Javascript
基于WebUploader的文件上传js插件
Aug 19 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
Feb 15 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
May 10 Javascript
jquery检测上传文件大小示例
Apr 26 jQuery
在vue中给后台接口传的值为数组的格式代码
Nov 12 Javascript
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
用PHP实现WEB动态网页静态
2006/10/09 PHP
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
php全排列递归算法代码
2012/10/09 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
JS实现点击文字对应DIV层不停闪动效果的方法
2015/03/02 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
2017/02/13 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
python正向最大匹配分词和逆向最大匹配分词的实例
2018/11/14 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
Python中低维数组填充高维数组的实现
2019/12/02 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
注塑工厂厂长岗位职责
2013/12/02 职场文书
11月红领巾广播稿
2014/01/17 职场文书
劳动之星获奖感言
2014/02/01 职场文书
写给老婆的检讨书
2014/02/21 职场文书
财务人员担保书
2014/05/13 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
市场营销计划书
2019/04/24 职场文书
基于python实现银行管理系统
2021/04/20 Python
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
判断Python中的Nonetype类型
2021/05/25 Python
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python