目錄
#平臺差異說明
#基本使用
#傳入富文本內(nèi)容
#異步關(guān)閉
#點擊遮罩關(guān)閉
#控制模態(tài)框?qū)挾?/p>
#自定義樣式
#縮放效果
#API
#Props
#Event
#Method
#Slots
彈出模態(tài)框,常用于消息提示、消息確認、在當前頁面內(nèi)完成特定的交互操作。
#平臺差異說明
App | H5 | 微信小程序 | 支付寶小程序 | 百度小程序 | 頭條小程序 | QQ小程序 |
---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ |
#基本使用
默認情況下,模態(tài)框只有一個確認
按鈕:
- 請至少要配置彈框的內(nèi)容參數(shù)
content
。 - 通過
v-model
綁定一個布爾變量來控制模態(tài)框的顯示與否。
<template>
<view>
<u-modal v-model="show" :content="content"></u-modal>
<u-button @click="open">
打開模態(tài)框
</u-button>
</view>
</template>
<script>
export default {
data() {
return {
show: false,
content: '東臨碣石,以觀滄海'
}
},
methods: {
open() {
this.show = true;
}
}
}
</script>
#傳入富文本內(nèi)容
有時候我們需要給模態(tài)框的內(nèi)容,不一定是純文本的字符串,可能會需要換行,嵌入其他元素等,這時候我們可以使用slot
功能,再結(jié)合uni-apprictText
組件, 就能傳入富文本內(nèi)容了,如下演示:
<template>
<view>
<u-modal v-model="show" :title-style="{color: 'red'}">
<view class="slot-content">
<rich-text :nodes="content"></rich-text>
</view>
</u-modal>
<u-button @click="open">
打開模態(tài)框
</u-button>
</view>
</template>
<script>
export default {
data() {
return {
show: false,
content: `
空山新雨后<br>
天氣晚來秋
`
}
},
methods: {
open() {
this.show = true;
}
}
}
</script>
<style lang="scss" scoped>
.slot-content {
font-size: 28rpx;
color: $u-content-color;
padding-left: 30rpx;
}
</style>
#異步關(guān)閉
異步關(guān)閉只對"確定"按鈕起作用,需要設置async-close
為true
,當點擊確定按鈕的時候,按鈕的文字變成一個loading動畫,此動畫的顏色為?confirm-color
參數(shù)的顏色,同時Modal不會自動關(guān)閉,需要手動設置通過v-model
綁定的變量為false
來實現(xiàn)手動關(guān)閉。
<template>
<view class="">
<u-modal v-model="show" @confirm="confirm" ref="uModal" :async-close="true"></u-modal>
<u-button @click="showModal">彈起Modal</u-button>
</view>
</template>
<script>
export default {
data() {
return {
show: false
}
},
onLoad: function(opt) {
},
methods:{
showModal() {
this.show = true;
},
confirm() {
setTimeout(() => {
// 3秒后自動關(guān)閉
this.show = false;
// 如果不想關(guān)閉,而單是清除loading狀態(tài),需要通過ref手動調(diào)用方法
// this.$refs.uModal.clearLoading();
}, 3000)
}
}
}
</script>
#點擊遮罩關(guān)閉
有時候我們不顯示"關(guān)閉"按鈕的時候,需要點擊遮罩也可以關(guān)閉Modal,這時通過配置mask-close-able
為true
即可
<u-modal v-model="show" :mask-close-able="true"></u-modal>
#控制模態(tài)框?qū)挾?/h4>
可以通過設置width
參數(shù)控制模態(tài)框的寬度,此值可以為數(shù)值(單位rpx),百分比,auto
等。
<u-modal v-model="show" width="70%"></u-modal>
#自定義樣式
此組件有完善的自定義功能,可以配置標題,內(nèi)容,按鈕等樣式(傳入對象形式),具體參數(shù)詳見底部的API說明
<u-modal v-model="show" :title-style="{color: 'red'}"></u-modal>
#縮放效果
開啟縮放效果,在打開和收起模態(tài)框的時候,會帶有縮放效果,具體效果請見示例,此效果默認開啟,通過zoom
參數(shù)配置
<u-modal v-model="show" :zoom="false"></u-modal>
#API
#Props
注意:需要給modal
組件通過v-model
綁定一個布爾值,來初始化modal
的狀態(tài),隨后該值被雙向綁定。文章來源:http://www.zghlxwxcb.cn/news/detail-823867.html
參數(shù) | 說明 | 類型 | 默認值 | 可選值 |
---|---|---|---|---|
show | 是否顯示模態(tài)框,請賦值給v-model
|
Boolean | false | true |
z-index | 層級 | String | Number | 1075 | - |
title | 標題內(nèi)容 | String | 提示 | - |
width | 模態(tài)框?qū)挾龋瑪?shù)值時單位為rpx | String | Number | 600 | 百分比 / auto |
content | 模態(tài)框內(nèi)容,如傳入slot 內(nèi)容,則此參數(shù)無效 |
String | 內(nèi)容 | - |
show-title | 是否顯示標題 | Boolean | true | false |
show-confirm-button | 是否顯示確認按鈕 | Boolean | true | false |
show-cancel-button | 是否顯示取消按鈕 | Boolean | false | true |
confirm-text | 確認按鈕的文字 | String | 確認 | - |
cancel-text | 取消按鈕的文字 | String | 取消 | - |
cancel-color | 取消按鈕的顏色 | String | #606266 | - |
confirm-color | 確認按鈕的顏色 | String | #2979ff | - |
border-radius | 模態(tài)框圓角值,單位rpx | String | Number | 16 | - |
title-style | 自定義標題樣式,對象形式 | Object | - | - |
content-style | 自定義內(nèi)容樣式,對象形式 | Object | - | - |
cancel-style | 自定義取消按鈕樣式,對象形式 | Object | - | - |
confirm-style | 自定義確認按鈕樣式,對象形式 | Object | - | - |
zoom | 是否開啟縮放模式 | Boolean | true | false |
async-close | 是否異步關(guān)閉,只對確定按鈕有效,見上方說明 | Boolean | false | true |
mask-close-able | 是否允許點擊遮罩關(guān)閉Modal | Boolean | false | true |
negative-top | 往上偏移的值,以避免可能彈出的鍵盤重合,單位任意,數(shù)值則默認為rpx單位?1.4.4 | String | Number | 0 | - |
#Event
事件名 | 說明 | 回調(diào)參數(shù) |
---|---|---|
confirm | 點擊確認按鈕時觸發(fā) | - |
cancel | 點擊取消按鈕時觸發(fā) | - |
#Method
此方法需要通過ref調(diào)用,詳見上方的"異步關(guān)閉"文章來源地址http://www.zghlxwxcb.cn/news/detail-823867.html
事件名 | 說明 |
---|---|
clearLoading | 異步控制時,通過調(diào)用此方法,可以不關(guān)閉Modal,而單是清除loading狀態(tài) |
#Slots
名稱 | 說明 |
---|---|
default | 傳入自定義內(nèi)容,一般為富文本,見上方說明 |
confirm-button?1.6.0 | 傳入自定義按鈕,用于在微信小程序彈窗通過按鈕授權(quán)的場景 |
到了這里,關(guān)于uniapp組件庫Modal 模態(tài)框 的使用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!