解决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 学习之二 属性相关
Nov 23 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
Mar 30 Javascript
jQuery prev ~ siblings选择器使用介绍
Aug 09 Javascript
鼠标滚轴控制文本框值的JS代码
Nov 19 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
May 10 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
Sep 09 Javascript
简单实现js点击展开二级菜单功能
May 16 Javascript
VueJs 将接口用webpack代理到本地的方法
Nov 27 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
May 24 Javascript
Vue.js的模板语法详解
Feb 16 Javascript
JS正则表达式验证密码强度
Mar 18 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
Apr 09 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 strnatcmp()函数的用法总结
2013/11/27 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
Jquery 绑定时间实现代码
2011/05/03 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
PHP PDO操作总结
2014/11/17 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
原生JS实现-星级评分系统的简单实例
2016/08/21 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
javascript 中关于array的常用方法详解
2017/05/05 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
Vue安装浏览器开发工具的步骤详解
2019/05/12 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
使用python统计文件行数示例分享
2014/02/21 Python
python2.7+selenium2实现淘宝滑块自动认证功能
2018/02/24 Python
flask中的wtforms使用方法
2018/07/21 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
2019/04/10 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
英国最大的海报商店:GB Posters
2018/03/20 全球购物
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
英国最大的在线床超市:Bed Star
2019/01/24 全球购物
加强作风建设心得体会
2014/10/22 职场文书
离婚协议书怎么写的
2014/12/14 职场文书
学术会议邀请函
2015/01/30 职场文书
鸦片战争观后感
2015/06/09 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
python numpy中setdiff1d的用法说明
2021/04/22 Python
如何利用python实现Simhash算法
2022/06/28 Python