uniapp项目或者vue项目 封装弹框组件

news/2024/11/20 0:27:06/

baseDialog组件代码:

<template><view class="base-dialog" v-if="show"><view class="mask"></view><view class="Popmenu" :style="{ width }"><view class="header">{{ title }}</view><view class="content"><slot></slot></view><view v-if="cancelShow || confirmShow" class="btns"><myButton :type='cancelType' style="margin-right: 24rpx" v-if="cancelShow" @click.stop="cancel">{{ cancelText }}</myButton><myButton :type='confirmType' v-if="confirmShow" @click.stop="confirm">{{ confirmText }}</myButton></view></view></view>
</template><script>import myButton from '../components/myButton.vue'export default {props: {title: {type: String,default: ''},show: {type: Boolean,default: false},cancelText: {type: String,default: '取消'},confirmText: {type: String,default: '确定'},cancelShow: {type: Boolean,default: true},confirmShow: {type: Boolean,default: true},cancelDisabled: Boolean,confirmDisabled: Boolean,width: {type: [String | Number],default: '100%'},cancelType: String,confirmType: String},components: {myButton},computed: {_show: {get() {return this.show;},set(v) {console.log(v)this.$emit('update:show', v);}}},methods: {confirm() {if(this.confirmDisabled) return;this.$emit('confirm');this._show = false;},cancel() {if(this.cancelDisabled) return;this.$emit('cancel');this._show = false;}}}
</script><style lang='scss'>
.base-dialog {position: fixed;width: 100%;height: 100%;left: 0;top: 0;z-index: 20;transition:opacity 1s linear;.mask{background-color:rgba(0, 0, 0, 0.9);opacity: 0.5;position: absolute;width: 100%;height: 100%;left: 0;top:0;}.Popmenu {border-radius: 24rpx;padding: 40rpx;box-sizing: border-box;background: white;position: absolute;left: 50%;top: 45%;transform: translate(-50%, -50%);.header {text-align: center;margin-bottom: 24rpx;font-size: 40rpx;}.content {margin-bottom: 40rpx;}}.btns {display: flex;align-items: center;justify-content: center;}
}
</style>

 

在data定义弹框显示与隐藏 infoShow: false, // 榜单规则

<!-- 排行规则 --><baseDialogcancel-text="关闭":confirm-show="false"width="534rpx":show.sync="infoShow"title="榜单规则"><view class="info-content"><text>学生的个人积分按照动态条数和点赞数之和从高到低进行排名</text></view></baseDialog>

引入组件:

 

 

 

 

 

 


http://www.ppmy.cn/news/661679.html

相关文章

win7字体大小怎么设置_Win7系统怎么设置屏保?电脑屏幕保护设置教程

怎么给Win7系统电脑设置屏保&#xff1f;有用户询问如何给系统设置屏幕保护&#xff0c;下面就给大家介绍具体操作步骤。 操作步骤&#xff1a; 1.进入win7系统桌面&#xff0c;打开控制面板&#xff0c;选择外观和个性化&#xff0c;进入下一步。 2.接着在个性化选项的右侧点击…

win7全屏_win7电脑屏保如何设置 win7电脑屏保设置步骤【介绍】

我们在使用电脑的时候&#xff0c;经常会看到别人的电脑上有非常酷炫的屏保画面&#xff0c;不过自己的电脑却没有任何屏保&#xff0c;其实我们可以自己对电脑的屏保进行设置&#xff0c;那么win7电脑屏保怎么设置呢?今天为大家分享win7电脑屏保设置方法。 电脑屏保设置方法&…

计算机电脑密码设置程序,电脑密码怎么设置

电脑密码怎么设置 如果你不是使用此账户作为登录账户&#xff0c;需要为登录账户做设置密码才行。设置的密码最好是容易记住的&#xff0c;不然到时候忘记了就麻烦了。下面是jy135小编收集整理的电脑密码怎么设置&#xff0c;欢迎阅读。 怎么给电脑设置锁屏密码 怎么给电脑设置…

计算机桌面屏保字幕设置,win7系统屏保设置成字幕保护的操作方法

很多小伙伴都遇到过对win7系统屏保设置成字幕保护进行设置的困惑吧&#xff0c;一些朋友看过网上对win7系统屏保设置成字幕保护设置的零散处理方法&#xff0c;并没有完完全全明白win7系统屏保设置成字幕保护是如何设置的&#xff0c;今天小编准备了简单的操作办法&#xff0c;…

台式计算机怎么设置屏幕常亮,怎么设置电脑屏幕一直亮着

怎么设置电脑屏幕一直亮着以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01; 怎么设置可以让电脑屏幕一直亮着&#xff1f; 解决方法&#xff1a; 1、首先点击“开始”按钮&#xff0c;选择“控…

计算机为啥系统保护设置不了,我的电脑为什么设置了屏幕保护程序而不起作用 – 手机爱问...

2010-03-24 我的电脑设置了屏保却起不了作用&#xff0c;不知是怎么回事&#xff1f; 修复一下系统&#xff0c;不行重装一下显卡驱动。1、开机按F8不动到高级选项出现在松手&#xff0c;选“最近一次的正确配置”回车修复。2、开机按F8进入安全模式后在退出&#xff0c;选重启…

MySql学习2:SQL分类、数据库操作、表操作、数据的增删改查

SQL分类 SQL分类&#xff1a; DDL&#xff1a;数据定义语言&#xff0c;用来定义数据库对象&#xff08;数据库、表、字段&#xff09;DML&#xff1a;数据操作语言&#xff0c;用来对数据库表中的数据进行增删改DQL&#xff1a;数据库查询语言&#xff0c;用来查询数据库表中…

互联网摸鱼日报(2023-06-30)

互联网摸鱼日报(2023-06-30) InfoQ 热门话题 同程数科基于 Apache Doris 构建统一实时数仓&#xff0c;查询提速数十倍 携手亚马逊云科技构建开放共赢的生成式AI生态 老虎证券的数据库选型方法论 “驯服”可控大模型&#xff0c;白海发布一站式大模型微调平台IDP LM 中国企…