解决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 实现TreeView CheckBox全选效果
Jan 11 Javascript
Node.js开发指南中的简单实例(mysql版)
Sep 17 Javascript
js showModalDialog弹出窗口实例详解
Jan 07 Javascript
js使用心得分享
Jan 13 Javascript
JavaScript正则表达式的分组匹配详解
Feb 13 Javascript
详解VueJs前后端分离跨域问题
May 24 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
Jun 14 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
Sep 22 jQuery
解决vue中使用Axios调用接口时出现的ie数据处理问题
Aug 13 Javascript
vue+element-ui动态生成多级表头的方法
Aug 28 Javascript
vue使用代理解决请求跨域问题详解
Jul 24 Javascript
vue组件vue-esign实现电子签名
Apr 21 Vue.js
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
PHP n个不重复的随机数生成代码
2009/06/23 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
给jqGrid数据行添加修改和删除操作链接(之一)
2011/11/04 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
jQuery实现自定义右键菜单的树状菜单效果
2015/09/02 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
AngularJS入门教程之多视图切换用法示例
2016/11/02 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
vue cli webpack中使用sass的方法
2018/02/24 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
python比较两个列表是否相等的方法
2015/07/28 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
Python按钮的响应事件详解
2019/03/04 Python
python类的实例化问题解决
2019/08/31 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
python re模块常见用法例举
2021/03/01 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
责任胜于能力演讲稿
2014/05/20 职场文书
党员剖析材料范文
2014/12/18 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python
win10清理dns缓存
2022/04/19 数码科技
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers
Spring Boot实现文件上传下载
2022/08/14 Java/Android