uni-app封裝組件實現(xiàn)下方滑動彈出模態(tài)框效果
更新時間:2024年08月03日 10:41:40 作者:專職
這篇文章主要介紹了uni-app封裝組件實現(xiàn)下方滑動彈出模態(tài)框效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
子組件
<template>
<div class="bottom-modal" :class="{'show': showModal}">
<div class="modal-content" :class="{'show': showModal}">
<!-- 內容區(qū)域 -->
<slot></slot>
</div>
</div>
</template>
<script>
export default {
name: 'BottomModal',
props: {
showModal: {
type: Boolean,
default: false
}
},
methods: {
}
}
</script>
<style lang="scss">
.bottom-modal {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background-color: rgba(0, 0, 0, 0.5);
overflow: hidden;
transition: height 0.2s ease-out;
z-index: 99;
}
.bottom-modal.show {
height: 100%;
}
.modal-content {
background-color: #fff;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
box-shadow: 0px -2px 10px rgba(0, 0, 0, 0.1);
padding: 16px;
// 內容顯示在底部
position: absolute;
left: 0;
bottom: 0;
box-sizing: border-box;
width: 100%;
z-index: 999;
height: 0;
transition: all 0.5s linear;
}
.modal-content.show {
height: 60vh;
}
.modal-mask {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
</style>父組件
<script>
import BottomModal from "@/components/BottomModal.vue"
export default {
components: {
BottomModal
},
data() {
return {
showModal: false
}
},
methods: {
radioChange(e) {
console.log("radioChange", e.detail.value)
}
}
}
</script>
<template>
<bottom-modal :showModal="showModal">
<view class="my-modal">
<text class="title">訂單取消</text>
<text>請選擇取消訂單的原因:</text>
<radio-group @change="radioChange">
<view>
<label class="item">
<text>商品無貨</text>
<radio :value="1" style="transform: scale(0.6)" />
</label>
</view>
<view>
<label class="item">
<text>不想要了</text>
<radio :value="2" style="transform: scale(0.6)" />
</label>
</view>
<view>
<label class="item">
<text>商品信息填錯了</text>
<radio :value="3" style="transform: scale(0.6)" />
</label>
</view>
<view>
<label class="item">
<text>地址信息填寫錯誤</text>
<radio :value="4" style="transform: scale(0.6)" />
</label>
</view>
<view>
<label class="item">
<text>商品降價</text>
<radio :value="5" style="transform: scale(0.6)" />
</label>
</view>
<view>
<label class="item">
<text>其它</text>
<radio :value="6" style="transform: scale(0.6)" />
</label>
</view>
</radio-group>
<view class="cancel-confirm">
<text @click="handleCancel">取消</text>
<text @click="handleConfirm" class="confirm">確認</text>
</view>
</view>
</bottom-modal>
</template>
<style lang="scss">
.my-modal {
display: flex;
flex-direction: column;
font-size: 26rpx;
.item {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 30rpx;
padding-right: 30rpx;
}
.title {
margin-top: 15rpx;
font-size: 30rpx;
text-align: center;
}
.cancel-confirm {
display: flex;
justify-content: space-around;
margin-top: 30rpx;
text {
width: 300rpx;
height: 60rpx;
line-height: 60rpx;
text-align: center;
border: 1px solid #e6e2e2;
border-radius: 30rpx;
}
.confirm {
background-color: #27BA9B;
border: none;
color: #fff;
}
}
}
</style>效果圖

到此這篇關于uni-app封裝組件實現(xiàn)下方滑動彈出模態(tài)框的文章就介紹到這了,更多相關uni-app滑動彈出模態(tài)框內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
關于同時使用swiper和echarts遇到的問題及解決方法
這篇文章主要介紹了關于同時使用swiper和echarts遇到的問題及解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
JavaScript 數(shù)組- Array的方法總結(推薦)
下面小編就為大家?guī)硪黄狫avaScript 數(shù)組- Array的方法總結(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07
javaScript強制保留兩位小數(shù)的輸入數(shù)校驗和小數(shù)保留問題
這篇文章主要介紹了javaScript強制保留兩位小數(shù)的輸入數(shù)校驗和小數(shù)保留問題,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-05-05

