Popup 弹出层
弹出层容器,用于展示弹窗、信息提示等内容。
代码演示
基础用法
<button type="primary" @click="openPop">开启弹出框</button>
<hd-popup ref="popup">
<view>
这是一个简单的弹出框
</view>
</hd-popup>
export default {
methods: {
openPop() {
this.$refs.popup.open()
}
}
}
弹出框位置
通过type
属性设置弹出位置,默认全屏弹出层(center
),可以设置top( 顶部弹出层)
、bottom(底部弹出层)
、left(左侧弹出层)
、bottom(右侧弹出层)
或 center(全屏弹出层)
。
<button type="primary" @click="openPop" :type="type">开启弹出框</button>
<hd-popup ref="popup">
<view>
这是一个简单的弹出框
</view>
</hd-popup>
export default {
data() {
return {
type: 'bottom'
}
},
methods: {
openPop() {
this.$refs.popup.open()
}
}
}
关闭弹出框
通过maskClick
属性控制点击蒙层是否关闭弹出框,默认允许点击蒙层关闭(maskClick
为true
),当不允许点击蒙层关闭时,可以手动关闭弹出框。
<hd-popup ref="popup" maskClick="maskClick">
<view>
这是一个简单的弹出框
<view v-if="!maskClick" @click="onClose">
<!-- 关闭按钮 -->
<hd-icon name="ic_circleclose_line" size="48rpx"></hd-icon>
</view>
</view>
</hd-popup>
export default {
data() {
return {
maskClick: false,
type: 'bottom'
}
},
methods: {
onClose() {
this.$refs.popup.close()
}
}
}
Props
Name | Description | Type | Required | Default |
---|---|---|---|---|
animation | 开启动画 | Boolean | false | true |
type | 弹出层类型 | 'top( 顶部弹出层)' / 'bottom(底部弹出层)' / 'left(左侧弹出层)' / 'right(右侧弹出层)' / 'center(全屏弹出层)' | false | 默认值:'center' |
overlay | 是否显示遮罩 | Boolean | false | true |
maskClick | 是否允许点击蒙层关闭 | Boolean | false | 默认值:true |
backgroundColor | 背景颜色 | String | false | none |
duration | 动画时长,单位ms | Number | false | 300 |
overlayOpacity | 遮罩的透明度,0-1之间 | Number | false | 0.4 |
zIndex | 自定义层级 | Number | false | 999 |
Events
Event Name | Description | Parameters |
---|---|---|
change | - | - |
close | 弹层关闭时触发 | - |
maskClick | 遮罩被点击时触发 | - |
click | - | - |
Slots
Name | Description | Default Slot Content |
---|---|---|
default | - | - |