当前位置:网站首页>微信小程序 自定义 弹框组件
微信小程序 自定义 弹框组件
2022-06-26 18:10:00 【RosaChampagne】
效果图:
<!--components/popup/popup.wxml-->
<view class="popup" hidden="{
{flag}}">
<view class='popup-container'>
<view wx:if="{
{title}}" class="popup-title">{
{title}}</view>
<view>
</view>
<view class="popup-con">
<image src="{
{image}}" />
<view>{
{content}}</view>
</view>
<view class="popup-btn">
<text class="btn-no" bindtap='_error'>{
{btn_no}}</text>
<text class="btn-ok" bindtap='_success'>{
{btn_ok}}</text>
</view>
</view>
</view>
// components/popup/popup.js
Component({
/**
* Component properties
*/
properties: {
title: { // 属性名
type: String, // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型)
value: '' // 属性初始值(可选),如果未指定则会根据类型选择一个
},
// 弹窗图片
image: {
type: String,
value: ''
},
// 弹窗内容
content: {
type: String,
value: ''
},
// 弹窗取消按钮文字
btn_no: {
type: String,
value: '取消'
},
// 弹窗确认按钮文字
btn_ok: {
type: String,
value: '确定'
}
},
/**
* Component initial data
*/
data: {
flag: true,
},
/**
* Component methods
*/
methods: {
//隐藏弹框
hidePopup: function () {
this.setData({
flag: !this.data.flag
})
},
//展示弹框
showPopup () {
this.setData({
flag: !this.data.flag
})
},
/*
* 内部私有方法建议以下划线开头
* triggerEvent 用于触发事件
*/
_error () {
//触发取消回调
this.triggerEvent("error")
},
_success () {
//触发成功回调
this.triggerEvent("success");
}
}
})
{
"component": true
}
/* components/popup/popup.wxss */
.popup {
z-index: 9;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, .5);
}
.popup-container {
position: absolute;
left: 50%;
top: 50%;
width: 80%;
max-width: 600rpx;
border: 2rpx solid #ccc;
border-radius: 20rpx;
box-sizing: bordre-box;
transform: translate(-50%, -50%);
overflow: hidden;
background: rgba(250,250,250,1);
}
.popup-title {
width: 100%;
padding: 20rpx;
text-align: center;
font-size: 40rpx;
border-bottom: 2rpx solid red;
}
.popup-con {
margin: 36rpx 10rpx;
text-align: center;
}
.popup-con image {
width: 196rpx;
height: 196rpx;
}
.popup-btn {
display: flex;
justify-content: space-around;
}
.popup-btn text {
display: flex;
align-items: center;
justify-content: center;
width: 50%;
height: 106rpx;
border-top: 2rpx solid #EDEDED;
}
.popup-btn .btn-no {
border-right: 2rpx solid #EDEDED;
}
<popup id='popup'
image='../../images/organizer/application-success.png'
content='申请成功'
btn_no='立即发起活动'
btn_ok='成为认证用户'
bind:error="_error"
bind:success="_success">
</popup>
onReady: function (options) {
//获得popup组件
this.popup = this.selectComponent("#popup");
},
showPopup() {
this.popup.showPopup();
},
//取消事件
_error() {
console.log('你点击了取消');
this.popup.hidePopup();
},
//确认事件
_success() {
console.log('你点击了确定');
this.popup.hidePopup();
},
边栏推荐
- 比较两个对象的大小关系原来可以如此花里胡哨
- Row lock analysis and deadlock
- 基于tensorflow的手写数字识别
- vutils. make_ A little experience of grid () in relation to black and white images
- wechat_ Solve the problem of page Jump and parameter transfer by navigator in wechat applet
- (multi threading knowledge points that must be mastered) understand threads, create threads, common methods and properties of using threads, and the meaning of thread state and state transition
- Clion breakpoint single step debugging
- Comparing the size relationship between two objects turns out to be so fancy
- sql中的几种删除操作
- tag动态规划-刷题预备知识-2. 0-1背包理论基础和二维数组解法模板
猜你喜欢
Image binarization
LeetCode 面试题29 顺时针打印矩阵
数字签名标准(DSS)
Interview key points that must be mastered index and affairs (with B-tree and b+ tree)
DoS及攻击方法详解
vutils. make_ A little experience of grid () in relation to black and white images
JVM入個門(1)
Class inheritance of 25class
Decision tree and random forest
CD-CompactDisk
随机推荐
A little experience of next (ITER (dataloader))
爬取豆瓣读书Top250,导入sqlist数据库(或excel表格)中
Static registration and dynamic registration of JNI
Deep understanding of MySQL lock and transaction isolation level
临时关闭MySQL缓存
properties文件乱码
数字签名论述及生成与优点分析
DVD-数字通用光盘
Several delete operations in SQL
DVD digital universal disc
transforms. The input of randomcrop() can only be PIL image, not tensor
基于tensorflow的手写数字识别
JS common regular expressions
Interview key points that must be mastered index and affairs (with B-tree and b+ tree)
同花顺开户怎么样安全吗?怎么炒股开户
ros::spinOnce()和ros::spin()的使用和区别
JVM入个门(1)
带你解决哈希冲突,并实现一个简单hash表,
(multi threading knowledge points that must be mastered) understand threads, create threads, common methods and properties of using threads, and the meaning of thread state and state transition
Digital signature standard (DSS)