微信小程序编写一个自定义弹框
时间: 2023-07-07 12:33:28 浏览: 128
好的,下面是一个简单的示例代码,可以用于在微信小程序中创建一个自定义弹框:
在 WXML 文件中,添加以下代码:
```
<!-- 弹框 -->
<view class="mask" hidden="{{!showModal}}"></view>
<view class="modal" hidden="{{!showModal}}">
<view class="modal-title">{{modalTitle}}</view>
<view class="modal-content">{{modalContent}}</view>
<view class="modal-footer">
<button class="modal-cancel" bindtap="onModalCancel">取消</button>
<button class="modal-confirm" bindtap="onModalConfirm">确定</button>
</view>
</view>
```
在 JS 文件中,添加以下代码:
```
Page({
data: {
showModal: false, // 控制弹框显示隐藏的变量
modalTitle: '', // 弹框标题
modalContent: '', // 弹框内容
},
// 点击按钮弹出弹框
showCustomModal: function() {
this.setData({
showModal: true,
modalTitle: '提示',
modalContent: '您确定要进行此操作吗?',
})
},
// 点击弹框取消按钮
onModalCancel: function() {
this.setData({
showModal: false,
})
},
// 点击弹框确定按钮
onModalConfirm: function() {
// 进行需要的操作
this.setData({
showModal: false,
})
},
})
```
在 WXSS 文件中,添加以下代码:
```
/* 弹框样式 */
.mask {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
}
.modal {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #fff;
border-radius: 8rpx;
padding: 20rpx;
text-align: center;
}
.modal-title {
font-size: 34rpx;
font-weight: bold;
margin-bottom: 20rpx;
}
.modal-content {
font-size: 28rpx;
margin-bottom: 40rpx;
}
.modal-footer {
display: flex;
justify-content: space-between;
}
.modal-cancel,
.modal-confirm {
flex: 1;
background-color: #eee;
border-radius: 8rpx;
padding: 10rpx;
font-size: 28rpx;
margin-right: 20rpx;
}
.modal-confirm {
background-color: #4caf50;
color: #fff;
}
```
这样,一个简单的自定义弹框就完成了。您可以根据需求自行修改样式和功能。
阅读全文