uni-app封裝組件實(shí)現(xiàn)下方滑動(dòng)彈出模態(tài)框效果
子組件
<template>
<div class="bottom-modal" :class="{'show': showModal}">
<div class="modal-content" :class="{'show': showModal}">
<!-- 內(nèi)容區(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;
// 內(nèi)容顯示在底部
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>請(qǐng)選擇取消訂單的原因:</text>
<radio-group @change="radioChange">
<view>
<label class="item">
<text>商品無(wú)貨</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>商品信息填錯(cuò)了</text>
<radio :value="3" style="transform: scale(0.6)" />
</label>
</view>
<view>
<label class="item">
<text>地址信息填寫錯(cuò)誤</text>
<radio :value="4" style="transform: scale(0.6)" />
</label>
</view>
<view>
<label class="item">
<text>商品降價(jià)</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">確認(rèn)</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>效果圖

到此這篇關(guān)于uni-app封裝組件實(shí)現(xiàn)下方滑動(dòng)彈出模態(tài)框的文章就介紹到這了,更多相關(guān)uni-app滑動(dòng)彈出模態(tài)框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- uni-app自定義組件和通信的方式
- uni-app項(xiàng)目中引入Vant?UI組件庫(kù)完美避坑指南(純凈版)
- Uni-App用uView組件庫(kù)中u-picker實(shí)現(xiàn)地區(qū)的省-市-區(qū)三級(jí)聯(lián)動(dòng)、確認(rèn)及回顯
- uni-app中Navigator組件的用法詳解及傳參方式
- uni-app使用組件的步驟記錄
- uni-app自定義組件components導(dǎo)入失敗或頁(yè)面不顯示文本等解決方法
- 在uni-app中使用vant組件的方法
- uni-app無(wú)限級(jí)樹形組件簡(jiǎn)單實(shí)現(xiàn)代碼
相關(guān)文章
關(guān)于同時(shí)使用swiper和echarts遇到的問(wèn)題及解決方法
這篇文章主要介紹了關(guān)于同時(shí)使用swiper和echarts遇到的問(wèn)題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
JavaScript實(shí)現(xiàn)圖片放大鏡效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)圖片放大鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
JavaScript 數(shù)組- Array的方法總結(jié)(推薦)
下面小編就為大家?guī)?lái)一篇JavaScript 數(shù)組- Array的方法總結(jié)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07
js阻止默認(rèn)瀏覽器行為與冒泡行為的實(shí)現(xiàn)代碼
下面小編就為大家?guī)?lái)一篇js阻止默認(rèn)瀏覽器行為與冒泡行為的實(shí)現(xiàn)代碼。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
H5實(shí)現(xiàn)手機(jī)拍照和選擇上傳功能
這篇文章主要為大家詳細(xì)介紹了H5實(shí)現(xiàn)手機(jī)拍照和選擇上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12
如何用純js實(shí)現(xiàn)返回頁(yè)面頂部功能
頁(yè)面返回頂部是在Web中常見的效果,在一個(gè)很長(zhǎng)的頁(yè)面中,頁(yè)面返回頂部按鈕可以方便用戶回到頁(yè)面的頂部,增強(qiáng)用戶體驗(yàn),這篇文章主要給大家介紹了關(guān)于如何用純js實(shí)現(xiàn)返回頁(yè)面頂部功能的相關(guān)資料,需要的朋友可以參考下2024-06-06
javaScript強(qiáng)制保留兩位小數(shù)的輸入數(shù)校驗(yàn)和小數(shù)保留問(wèn)題
這篇文章主要介紹了javaScript強(qiáng)制保留兩位小數(shù)的輸入數(shù)校驗(yàn)和小數(shù)保留問(wèn)題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-05-05

