解决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 this关键字使用分析
Oct 21 Javascript
基于jquery DOM写的类似微博发布的效果
Oct 20 Javascript
前端轻量级MVC框架CanJS详解
Sep 26 Javascript
JavaScript中的eval()函数使用介绍
Dec 31 Javascript
JavaScript记录光标在编辑器中位置的实现方法
Apr 22 Javascript
jQuery简单入门示例之用户校验demo示例
Jul 09 Javascript
Vue2.0如何发布项目实战
Jul 27 Javascript
原生javascript实现的全屏滚动功能示例
Sep 19 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
Jan 31 Javascript
vue.js轮播图组件使用方法详解
Jul 03 Javascript
js module大战
Apr 19 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
Oct 27 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
文章推荐系统(二)
2006/10/09 PHP
基于数据库的在线人数,日访问量等统计
2006/10/09 PHP
php下网站防IP攻击代码,超级实用
2010/10/24 PHP
PHP实现获取域名的方法小结
2014/11/05 PHP
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
php实现json编码的方法
2015/07/30 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
jquery移除、绑定、触发元素事件使用示例详解
2014/04/10 Javascript
JavaScript中连接操作Oracle数据库实例
2015/04/02 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
使用OPENLAYERS3实现点选的方法
2020/09/24 Javascript
vue使用自定义icon图标的方法
2018/05/14 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
layui 数据表格复选框实现单选功能的例子
2019/09/19 Javascript
jQuery实现简单QQ聊天框
2020/08/27 jQuery
Django 多语言教程的实现(i18n)
2018/07/07 Python
用python爬取租房网站信息的代码
2018/12/14 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
ipad上运行python的方法步骤
2019/10/12 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
CSS3 毛玻璃效果
2019/08/14 HTML / CSS
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
应用化学专业本科生求职信
2013/09/29 职场文书
银行营业厅大堂经理岗位职责
2014/01/06 职场文书
学校门卫岗位职责范本
2014/06/30 职场文书
招标保密承诺书
2015/01/20 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript