解决VantUI popup 弹窗不弹出或无蒙层的问题


Posted in Javascript onNovember 03, 2020

背景

####组件PopupTime.vue

把vant官网的popup+时间选择器抽成组件:

popup1show: true 即弹窗显示

<template>
 <div class="PopupTime">
  <van-popup v-model="popup1show" position="bottom" :overlay="true" @click-overlay="clickOverlay">
   <van-datetime-picker show-toolbar
         :title="popupTitle.popupName"
         v-model="currentDate"
         type="datetime"
         @cancel="onCancel" @confirm="onConfirm" class="font14"/>
  </van-popup>
 </div>
</template>

<script type="text/ecmascript-6">

 export default {
  props:{
   popupTitle:Object,
  },


  data() {
   return {
    popup1show: true,
    currentDate: new Date(),
   };
  },
 methods:{
 clickOverlay() {
 this.onCancel();
 },
 onCancel() {},
 onConfirm(value, index) {},
 }
 </script>

test.vue调用该组件

<popup-time 
 v-show="isShowDelay" 
 :popupTitle="popupDelayT"
 @PopupDelayTime="fromDelayT">
</popup-time>
//import PopupTime组件,并在components中注册

看似没什么问题,但出现isShowDelay为rue时,弹窗显示没有蒙层,第二次点击就点不开了。

问题解决

以为是vant的问题,找了半天结果是v-show的问题,改成v-if就没问题了。

<popup-time 
 v-if="isShowDelay" 
 :popupTitle="popupDelayT"
 @PopupDelayTime="fromDelayT">
</popup-time>
//import PopupTime组件,并在components中注册

奇奇怪怪的问题,去官网上瞅一眼:

v-if vs v-show

v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。

相比之下,v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并保留在 DOM 中。v-show 只是简单地切换元素的 CSS 属性 display

一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

嗯。。。。还是不懂这个问题是怎么出现的??

补充知识:vant--------Picker与Popup 选择器和遮罩的完美结合

初学前端的小伙伴肯定遇到过这样的问题吧,想写一个下拉,又想写一个遮罩。两个合起来用,然后写一个遮罩height:100%,width:100%,z-index:999,等等去定

繁琐又麻烦 体验感还不一定加

将vant 的picker 与popup集合 方便快捷实用

1.在main.js 里引入

import { Popup } from 'vant';
Vue.use(Popup);
import { Picker } from 'vant'; 
Vue.use(Picker);

2.

<van-popup v-model="show" position="bottom" :overlay="true">
 <van-picker show-toolbar title="请选择区域代理城市" :columns="columns" @cancel="onCancel" @confirm="onConfirm" @change="onChange" />
</van-popup>

position:你可以自己定义 top or bottom or center 当然一般是bottom

:overlay:false or true看个人需求

title:根据你自己需求定义

js:

解决VantUI popup 弹窗不弹出或无蒙层的问题

效果图:

解决VantUI popup 弹窗不弹出或无蒙层的问题

以上的列子 都是小生自己实践 ,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript删除option选项的多种方法总结
Nov 22 Javascript
js判断为空Null与字符串为空简写方法
Feb 24 Javascript
实例讲解JavaScript中instanceof运算符的用法
Jun 08 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
Jun 13 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
Jun 15 Javascript
vue-cli中的webpack配置详解
Sep 25 Javascript
使用jQuery给Table动态增加行、清空table的方法
Sep 05 jQuery
webpack4+express+mongodb+vue实现增删改查的示例
Nov 08 Javascript
javascript实现自由编辑图片代码详解
Jun 21 Javascript
详细教你微信公众号正文页SVG交互开发技巧
Jul 25 Javascript
VUE : vue-cli中去掉路由中的井号#操作
Sep 04 Javascript
linux服务器快速卸载安装node环境(简单上手)
Feb 22 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
Nov 03 #Javascript
使用vant的地域控件追加全部选项
Nov 03 #Javascript
vue vant中picker组件的使用
Nov 03 #Javascript
vue-amap根据地址回显地图并mark的操作
Nov 03 #Javascript
ant-design-vue中tree增删改的操作方法
Nov 03 #Javascript
Vue+Vant 图片上传加显示的案例
Nov 03 #Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
Nov 03 #Javascript
You might like
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
php生成随机颜色的方法
2014/11/13 PHP
常见php数据文件缓存类汇总
2014/12/05 PHP
javascript attachEvent和addEventListener使用方法
2009/03/19 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
2012/04/12 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
2016/01/25 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
原生js实现简单的焦点图效果实例
2017/12/14 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
js实现抽奖功能
2020/11/24 Javascript
对python的bytes类型数据split分割切片方法
2018/12/04 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
python 提取文件指定列的方法示例
2019/08/07 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
Python接口自动化测试的实现
2020/08/28 Python
详解anaconda安装步骤
2020/11/23 Python
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
《四季》教学反思
2014/04/08 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
红高粱观后感
2015/06/10 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书
利用Apache Common将java对象池化的问题
2022/06/16 Servers