解决v-if作用下popup弹框滑动效果消失的问题

问题描述

做需求的时候需要封装一个popup的组件,需求是页面进来的时候需要请求接口获取到popup的内容,然后进行展示弹框,但是这里就有一个问题,因为popup是一个组件,接口又是异步操作的,父组件进来的时候就直接引入了该组件,这个时候很大可能接口还没有返回,所以组件里面其实是没有任何内容的,但是组件已经展示出来了,所以效果上其实是一个bug,为了解决这个问题,我就将popup使用v-if 进行了判断,如果接口的返回数据没有成功接收到之前是不展示的,接收到之后引入该组件,但是使用if的话就是比较生硬的效果了,毕竟if只是判断要不要显示,是没有任何的过渡动画的,这就是今天要说的问题 该问题适用于任何本身存在滑动效果但是因为v-if导致没有任何滑动效果的情况

解决方案1

POPUP本身是有滑动效果的,所以第一种方案是我们不进行对组件本身v-if判断,而是在外层添加一个templete非渲染元素标签,默认他是不显示的,里面popup还是正常的使用show进行判断展示,当数据拿到之后直接将template的状态改为true,关闭的时候只改变组件的show的boolean的值,而template的boolean值不进行操作

  • 代码如下
<!--* @Description: 投保须知弹框* @author:clearlove* @createTime: 2023-08-16 14:50:29-->
<template><view><u-popup :show="show" @close="close" :round="30" @open="open"><view class="content"><view class="content_title"><view class="content_title_image"><image src="@/assets/image/insure/logo.png" mode="widthFix"></image></view><view class="content_title_company"> 由{{ insureName }}提供保险经纪服务,{{ tenantName }}承保 </view></view><view class="content_substance"><Notes></Notes></view><view class="content_btn" @click="$emit('controlPopup')"> 我知道了 </view></view></u-popup></view>
</template><script setup>
import { useCommonStore } from '@/stores/common.js'
const userStore = useCommonStore()
import Notes from './Notes.vue'
const props = defineProps({show: {type: Boolean,require: true,default: () => false}
})
const close = () => {}
const open = () => {}
const { insureName, tenantName } = userStore.insurePopupInfos // TODO: 获取服务公司和承保公司
</script><style lang="scss" scoped>
@import './InsuranceNotice.scss';
</style>
<view v-if="controllIsShowNotice"><InsuranceNotice :show="insuranceNoticeShow" @controlPopup="onControlInsuranceNoticePopup"></InsuranceNotice>
</view>

解决方案2

使用组件异步加载的方式进行操作,也就是vue中的defineAsyncComponent方法,当我们判断接口数据已经返回的时候,进行加载该组件即可,但是这个方法在uniapp中是不被支持的,所以如果在小程序中使用的话是不适用的,小程序中使用第一个方法比较合适。

解决方案3

通过transition 添加name的方式进行css 添加对应的效果,但是这个有一些bug,具体的因为我很少用,所以这里就不做评论,个人不太推荐这个方案。 官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/50112.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【秋招基础】后端开发——笔面试常见题目

综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招算法的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于网上知识点进行的&#xff0c;每个代码参考热门博客和GPT3.5&#xff0…

python自动化入门之Python编写脚本实现自动化爬虫详解

想知道如何使用Python轻松高效地获取网络上的信息&#xff1f; 本篇文章将探索Python自动化爬虫&#xff0c;并展示如何编写实用的脚本。 1. 什么是Python爬虫&#xff1f; 爬虫顾名思义&#xff0c;就是像蜘蛛一样在网络上爬行&#xff0c;抓取各种有用信息的一种程序。而Pyt…

深入理解回调函数qsort:从入门到模拟实现

&#x1f341;博客主页&#xff1a;江池俊的博客 &#x1f4ab;收录专栏&#xff1a;C语言进阶之路 &#x1f4a1;代码仓库&#xff1a;江池俊的代码仓库 &#x1f3aa;我的社区&#xff1a;GeekHub &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐ 文章目录 前…

在树莓派上搭建web站点并发布互联网上线【无需公网IP】

文章目录 概述使用 Raspberry Pi Imager 安装 Raspberry Pi OS设置 Apache Web 服务器测试 web 站点安装静态样例站点将web站点发布到公网安装 Cpolar内网穿透cpolar进行token认证生成cpolar随机域名网址生成cpolar二级子域名将参数保存到cpolar配置文件中测试修改后配置文件配…

C/C++:C/C++在大数据时代的应用,以及C/C++程序员未来的发展路线

目录 1.C/C在大数据时代的应用 1.1&#xff1a;C/C数据处理 1.2&#xff1a;C/C数据库 1.3&#xff1a;C/C图像处理和计算机视觉 1.3.1&#xff1a;导读 2.C/C程序员未来的发展路线 2.1&#xff1a;图导 1.C/C在大数据时代的应用 C/C在大数据时代中仍然是一种被广泛应用的编…

小程序运营方式有哪些?如何构建小程序运营框架?

​如今&#xff0c;每个企业基本都做过至少一个小程序&#xff0c;但由于小程序本身不具备流量、也很少有自然流量&#xff0c;因此并不是每个企业都懂如何运营小程序。想了解小程序运营方式方法有哪些&#xff1f; 在正式运营小程序前&#xff0c;了解小程序的功能与企业实际经…

Webpack高频面试题

Webpack高频面试题 1 谈谈你对webpack的看法 现在的前端网页功能丰富&#xff0c;特别是SPA&#xff08;single page web application 单页应用&#xff09;技术流行后&#xff0c;JavaScript的复杂度增加和需要一大堆依赖包&#xff0c;还需要解决Scss&#xff0c;Less……新…

AS中回退git历史版本并删除历史提交记录

当您想把某个版本后的代码删除&#xff0c;回滚到指定的版本。可以使用一下的方法。 一、打开AS中git历史提交窗口 二、选择需要回滚的版本选项&#xff0c;右键弹出菜单。选择Reset Current Branch to Here... 三、选择 Hard 选项 soft&#xff1a;将合并的更改应用到当前分支…

【ARM】Day8 中断

1. 思维导图 2. 实验要求&#xff1a; 实现KEY1/LEY2/KE3三个按键&#xff0c;中断触发打印一句话&#xff0c;并且灯的状态取反 key1 ----> LED3灯状态取反 key2 ----> LED2灯状态取反 key3 ----> LED1灯状态取反 key3.h #ifndef __KEY3_H__ #define __KEY3_H__#in…

RCU安全引用计数

原文网址&#xff1a;https://lwn.net/Articles/93617 原文作者&#xff1a;Corbet 原文时间&#xff1a;2004年7月14日 内核提供了一种用于实现引用计数的简单机制kref&#xff1b;该机制是今年3月份完成的。kref机制的核心思想是&#xff0c;提供支持原子操作的计数器&…

CGAL 网格(Mesh)数据骨架提取

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 骨架是一种非常有效的形状抽象,其被广泛的用于分割、形状匹配、曲面重建、虚拟导航等领域。正如名称所示,一条曲线骨架本质上是曲线线性化的图结构,并且它不是由曲面(2D)组成的3D几何体的中轴线。 如下图所示,形…

蓝牙耳机语音信号处理之ENC算法

+他V hezkz17进数字音频系统研究开发交流答疑群(课题组) 1 什么是单麦谱减法降噪? 单麦谱减法降噪是一种音频信号处理技术,用于在单声道录音中减少噪音的方法。它基于频域分析和减法混叠原理。首先,通过将音频信号转换为频域表示(如快速傅立叶变换),可以将音频信号分解…

uniapp - 实现卡片式胶囊单选后右上角出现 “√“ 对勾对号选中效果功能,适用于小程序h5网页app全平台通用(一键复制组件源码,开箱即用!)

效果图 uniapp全平台兼容(小程序/h5网页/app)实现点击选择后,右上角出现 √ 对号效果(角标形式展现),功能组件, 改个样式,直接复制使用该组件。 组件源码 在 components 组件文件夹下,随便建立一个 .vue 文件,一键复制下方源码。

Java-MongoDB-API

0、前置工作 创建Maven工程&#xff0c;导入依赖&#xff1a; <dependency><groupId>org.mongodb</groupId><artifactId>mongo-java-driver</artifactId><version>3.12.7</version></dependency> 1、连接MongoDB并测试 注…

如何在PHP中使用数字

引言 数字在编程中非常常见。它们用于表示屏幕尺寸尺寸、地理位置、金钱、点数、视频中经过的时间、游戏角色的位置和通过分配数字代码的颜色等内容。 能够在编程中有效地执行数学运算是一项需要开发的重要技能&#xff0c;因为你将经常与数字打交道。虽然对数学的深入理解肯…

VMware Workstation Pro 无法使用开机状态下拍的快照来克隆虚拟机,怎么解决?

环境: VMware Workstation Pro16.0 Win10 专业版 问题描述: VMware Workstation Pro有台虚拟机在开机状态下拍了个6.7快照这个win10初始版,现在想在这个快照下直接克隆,无法使用开机状态下拍的快照创建克隆 解决方案: 1.关闭当前虚拟机 2.到虚拟机文件夹复制一份Wind…

Python 在logging.config.dictConfig()日志配置方式下,使用自定义的Handler处理程序

文章目录 一、基于 RotatingFileHandler 的自定义处理程序二、基于 TimedRotatingFileHandler 的自定义处理程序 Python logging模块的基本使用、进阶使用详解 Python logging.handlers模块&#xff0c;RotatingFileHandler、TimedRotatingFileHandler 处理器各参数详细介绍 …

kingbase(人大金仓)数据库的常用知识点与简单巡检

查看服务是否已设为开机自启 systemctl list-dependencies |grep kingbasehttps://blog.csdn.net/gyqailxj/article/details/127290687

Apache Doris 入门教程36:文件分析和文件缓存

文件分析 通过 Table Value Function 功能&#xff0c;Doris 可以直接将对象存储或 HDFS 上的文件作为 Table 进行查询分析。并且支持自动的列类型推断。 使用方式​ 更多使用方式可参阅 Table Value Function 文档&#xff1a; S3&#xff1a;支持 S3 兼容的对象存储上的文…

智能电视与win10电脑后续无法实现DLNA屏幕共享

问题背景&#xff1a; 我用的是TCL电视&#xff0c;但是并不是最新&#xff0c;打开的方式是U盘->电脑&#xff0c;各位看自己情况&#xff0c;很多问题都大概率是智能电视问题。 情景假设&#xff1a; 假设你已经完成原先智能电视该有的步骤&#xff0c;通过DLNA&#xf…