微信小程序?qū)W習之自定義滾動彈窗
更新時間:2020年12月20日 14:36:11 作者:юноша
這篇文章主要給大家介紹了關(guān)于微信小程序?qū)W習之自定義滾動彈窗的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
微信小程序雖然有三種自帶的彈窗,但是畢竟功能有限,有時候難以滿足我們的需求,所以我們可以自己嘗試制作自定義彈窗,話不多說,直接上圖:


其中列表部分支持滾動,所以信息承載能力很強。
實現(xiàn)代碼:
wxml:
<button class="showModal" bindtap="showModal_click">喚出彈窗</button>
<!--彈窗-->
<view class="modal-mask" bindtap="hideModal" catchtouchmove="preventTouchMove" wx:if="{{showModal}}"></view>
<view class="modal-dialog" wx:if="{{showModal}}">
<view class="modal-title">標題</view>
<view class="modal-title-sc">副標題</view>
<view class="modal-content">
<scroll-view scroll-y="true" style="height:100px;">
<block wx:for="{{data}}" wx:key="id">
<button class="info">
<view class="name_List">{{item.name}}</view>
<view class="quantity_List">×{{item.quantity}}</view>
<view class="reason_List">{{item.message}}</view>
</button>
</block>
</scroll-view>
</view>
<view class="modal-content-return">
此處可隨意添加文本內(nèi)容
</view>
<view class="modal-footer">
<view class="btn-cancel" bindtap="onCancel" data-status="cancel">取消</view>
<view class="btn-confirm" bindtap="onConfirm" data-status="confirm">確定</view>
</view>
</view>
wxss:
.showModal{
position:absolute;
height:50px;
left:30%;
width:40%;
top:40%;
background: rgb(95, 228, 83);
color:#fff;
font-size: 20px;
}
/*以下全是彈窗樣式*/
.modal-mask {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background: #000;
opacity: 0.5;
overflow: hidden;
z-index: 9000;
color: #fff;
}
.modal-dialog {
width: 80%;
overflow: hidden;
position: fixed;
top: 40%;
left: 0;
z-index: 9999;
background: #f9f9f9;
margin-top: -180rpx;
margin-left: 10%;
border-radius: 36rpx;
}
.modal-title {
padding-top: 30rpx;
font-size: 20px;
color: #030303;
text-align: center;
}
.modal-title-sc {
padding-top: 10rpx;
font-size: 15px;
color: #bebcbc;
text-align: center;
}
.modal-content {
padding: 10rpx 32rpx;
}
.info{
height:30px;
left:0%;
text-align: left;
font-size: 12px;
color:#bebcbc;
}
.info::after{
border: 0px;
}
.name_List{
position:absolute;
left:0%;
width:40%;
text-align: left;
}
.quantity_List{
position:absolute;
left:40%;
width:10%;
text-align: left;
}
.reason_List{
position:absolute;
left:50%;
width:50%;
text-align: right;
overflow: hidden;
}
.modal-content-return{
padding: 15rpx 32rpx;
font-size: 15px;
color: #bebcbc;
}
.modal-footer {
display: flex;
flex-direction: row;
height: 86rpx;
border-top: 1px solid #dedede;
font-size: 34rpx;
line-height: 86rpx;
}
.btn-cancel {
width: 50%;
color: #666;
text-align: center;
border-right: 1px solid #dedede;
}
.btn-confirm {
width: 50%;
color: #ec5300;
text-align: center;
}
js:
Page({
data: {
data:null,
showModal:false
},
onLoad: function () {
var data=[
{id:1,name:"cc",quantity:2,message:"愛玩游戲"},
{id:2,name:"ha",quantity:4,message:"愛談戀愛"},
{id:3,name:"lxl",quantity:6,message:"愛看電視"},
{id:4,name:"cc",quantity:2,message:"愛玩游戲"},
{id:5,name:"ha",quantity:4,message:"愛談戀愛"},
{id:6,name:"lxl",quantity:6,message:"愛看電視"},
]
this.setData({
data:data
})
},
showModal_click:function(){
this.setData({
showModal:true
})
},
//彈窗事件
hideModal: function () {
this.setData({
showModal: false
});
},
onCancel: function () {
this.hideModal();
},
onConfirm: function () {
this.hideModal();
}
})
直接拿過去就可以用,data里面的內(nèi)容可以動態(tài)獲取
到此這篇關(guān)于微信小程序?qū)W習之自定義滾動彈窗的文章就介紹到這了,更多相關(guān)微信小程序自定義滾動彈窗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

