解决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 相关文章推荐
jQuery 浮动广告实现代码
Dec 25 Javascript
打开新窗口关闭当前页面不弹出关闭提示js代码
Mar 18 Javascript
JQuery异步加载无限下拉框级联功能实现示例
Feb 19 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
Apr 02 Javascript
基于Jquery代码实现手风琴菜单
Nov 19 Javascript
谈谈JavaScript类型系统之Math
Jan 06 Javascript
微信小程序开发之toast提示插件使用示例
Jun 08 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
Oct 26 Javascript
js中实例与对象的区别讲解
Jan 21 Javascript
vue中的过滤器实例代码详解
Jun 06 Javascript
vue服务端渲染操作简单入门实例分析
Aug 28 Javascript
uniapp开发打包多端应用完整方法指南
Dec 24 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
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
JavaScript实现倒计时跳转页面功能【实用】
2016/12/13 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
pybind11在Windows下的使用教程
2019/07/04 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
浅谈Python 递归算法指归
2019/08/22 Python
Django实现内容缓存实例方法
2020/06/30 Python
python实现经纬度采样的示例代码
2020/12/10 Python
Python LMDB库的使用示例
2021/02/14 Python
详解CSS3的perspective属性设置3D变换距离的方法
2016/05/23 HTML / CSS
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
家长评语大全
2014/01/22 职场文书
学子宴答谢词
2014/01/25 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
健康教育评估方案
2014/05/25 职场文书
家装电话营销开场白
2015/05/29 职场文书
迎国庆主题班会
2015/08/17 职场文书
创业计划书之酒吧
2019/12/02 职场文书
详解thinkphp的Auth类认证
2021/05/28 PHP