【uniapp】 实现公共弹窗的封装以及调用

这篇具有很好参考价值的文章主要介绍了【uniapp】 实现公共弹窗的封装以及调用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

图例:红框区域为 “ 内容区域 ”

【uniapp】 实现公共弹窗的封装以及调用,移动端,uni-app,javascript,前端

 一、组件

<!-- 弹窗组件 -->
<template>
<view class="add_popup" v-if="person.isShowPopup">
	<view class="popup_cont" :style="{width:props.width&&props.width>0?props.width+'px;':'auto;',
	                              height:props.height&&props.height>0?props.height+'px;':'auto;',
							      background:props.bgColor+'!important;'}">
		<view class="popup_close" @click="cancel"></view>
		<slot></slot>
	</view>
</view>
</template>

<script setup lang="ts">
import { reactive, onMounted, watch } from 'vue'
const props = defineProps({
    isShow: {
        type: Boolean,
        required: true
    },
	width: {
		type: Number,
		required: false
	},
	height: {
		type: Number,
		required: false
	},
	bgColor: {
		type: String,
		required: false
	}
})
interface Iemit{
	(e:'cancelBtn'):void
}	
const emit=defineEmits<Iemit>()

let person=reactive({
	isShowPopup:false
})

watch(()=>props.isShow,(newVal)=>{
	person.isShowPopup=newVal
})

onMounted(()=>{
})
const cancel=()=>{
	person.isShowPopup=!person.isShowPopup
	emit('cancelBtn')
}
</script>

<style lang="scss" scoped>
.add_popup{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: rgba(0,0,0,.4);
	z-index: 99;
	.popup_cont{
		text-align: center;
		margin: -60rpx auto 0 auto;
		border-radius: 20rpx;
		color: #3D425B;
		font-size: 30rpx;
		padding: 40rpx;
		display: flex;
		flex-direction: column;
		justify-content: center;
		position: relative;
		.popup_close{
			position: absolute;
			bottom: -100rpx;
			left: 50%;
			transform: translate(-50%);
			width: 80rpx;
			height: 80rpx;
			background: url('@/static/education/cancel.png') no-repeat;
			background-size: 100% 100%;
		}
	}
}
</style>

二、页面调用

<template>
<Popups :isShow="showDioUnbindMseeage" :width="260" height="auto" :bgColor="'#fff'"
		@cancelBtn="showDioUnbindMseeage=false">
   <!-- 内容区域 -->		
</Popups>
</template>

<script setup lang="ts">
import { ref } from 'vue'
import Popups from "@/components/popups/index.vue";

const showDioUnbindMseeage = ref(false)
</script>

     希望我的愚见能够帮助你哦~,若有不足之处,还望指出,你们有更好的解决方法,欢迎大家在评论区下方留言支持,大家一起相互学习参考呀~文章来源地址https://www.toymoban.com/news/detail-693786.html

到了这里,关于【uniapp】 实现公共弹窗的封装以及调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp 微信小程序 封装公共的请求js(api版本)

    一、新建api文件夹 在项目目录下创建api文件夹,内放files跟index.js文件夹,files文件夹内放每个页面对应的js请求接口 1、index.js 2、例如:login.js 二、config.js 三、main.js 四、页面使用

    2024年02月14日
    浏览(47)
  • chrome 扩展 popup 弹窗的使用

    popup介绍 popup 是点击 browser_action 或者 page_action 图标时打开的一个小窗口网页,焦点离开网页就立即关闭,一般用来做一些临时性的交互。 popup配置 V3版本中(V2版本是在 browser_action 中 ),可以通过配置文件( manifest.json )中 action 里面的 default_popup 字段来指定 popup 页面,也

    2024年02月05日
    浏览(41)
  • 【Python自动化测试】:弹窗的处理

    有些页面弹出框,如果不处理,就无法做后续操作 【描述】:包含提示信息和【确认】按钮 【操作】:1、获取弹窗内容;2、进行“确认”操作 【语法实现】 1、获取弹窗内容: driver.switch_to.alert.text 2、进行确认操作: driver.switch_to.alert.accept() 【代码实现】 【描述】:包含

    2024年02月14日
    浏览(38)
  • c++中MessageBox弹窗的用法大全

    想必大家都知道,MessageBox函数是c语言中很常用且好玩的函数之一,那你知道它怎么用吗? 这是MessageBox函数的标准格式之一,本人喜欢用这种格式,注意函数的 大小写 ! MessageBox不在 #includebits/stdc++.h 头文件里面,在 #includewindows.h 里面! 这是运行出来的结果: 其中,函数前

    2024年02月08日
    浏览(38)
  • 基于element-ui el-dialog组件封装,可缩放+可移动的弹窗组件

    源码下载 改组件继承el-dialog组件百分之95属性,可直接对el-dialog进行替换。在项目中我的命名为: vue代码 :搞成组件,路径随意,推荐统一放在组件目录下 拖动及缩放操作js代码: 将skdialog.js注册为指令: 目录: 指令使用:(v-指令名称(SkDialogDrag)) 效果图: 注:吃水

    2024年02月03日
    浏览(59)
  • Selenium最简单的处理登录弹窗的方式

    大家在使用selenium自动化任务时, 遇到上图登录窗口时要如何处理? 以Python为例, 网上能找到的方法几乎都是使用第三方库例如pyautogui等模拟键盘输入, 或者通过GUI的方式来操作登录, 而selenium似乎也没有提供此类弹窗的处理方式(如果有请务必留言让我知道, 万分感谢!) 以下提供

    2024年02月11日
    浏览(43)
  • UE4两种点击空间UI弹窗的方式

    1、要实现点击,必须要给鼠标左键或者右键写发射射线的程序,如下   2、在关卡蓝图中,最好设置一下鼠标可见。  2、UI加一个按钮,并设计On Clicked事件 对应的响应如下,这是第一种 3、第二种如下    

    2024年02月14日
    浏览(95)
  • JAVA+Selenium最简单的处理登录弹窗的方式

     在做自动化测试遇到需要处理登录弹窗情况,例如我的用户名为admin, 密码为admin, 那么想要登录http://10.10.168.1, 只需要使用以下链接访问即可立即登录, 并免除弹窗: http://账号:密码@网址  

    2024年02月16日
    浏览(41)
  • uniapp 封装弹窗组件(popup ,单选按钮,可以自选表单并提交表单)附有完整代码

     ↓界面结构如下 首先利用radio-group 中的label分成两部分,这样点单选按钮就可以出发整个label包裹的样式↓(点击label区域单选按钮亮起,触发radioChange方法改变radioState的状态) ↓  选中的效果可以参照↓ 完整代码如下↓ 如何使用该组件↓

    2024年02月16日
    浏览(37)
  • uniapp全屏弹窗,覆盖原生控件导航栏和tabbar,全局调用

    在uniapp中popup弹窗及对话框的遮罩层是覆盖不了原生的导航栏和tab栏的,在tabbar页中使用弹出框会非常的违和,接下来告诉大家实现的思路。 创建一个页面放置components或者pages中,接着在pages.json中注册当前页面,并设置背景色透明及取消导航栏。 配置创建页面的背景色透明

    2024年02月10日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包