pumpkin-ui
指南
组件
指南
组件
  • 基础组件

    • Button 按钮
    • Cell 单元格
    • Icon 图标
    • Popup 弹出层
    • Toast 轻提示
  • 表单组件

    • PickerView 选择器视图
    • Picker 选择器
    • DatePicker 日期时间选择器
    • Switch 开关
    • Field 输入项
    • Form 表单
    • Checkbox 复选框
    • Radio 单选框
  • 反馈组件

    • Overlay 遮罩
    • Loading 加载
    • ActionSheet 动作面板
    • Notify 消息提示
    • Skeleton 骨架屏
    • Dialog 对话框
  • 展示组件

    • Progress 进度条
    • Divider 分割线
    • Badge 徽标
    • Empty 空元素
    • Tag 标签

Popup 弹出层

基本使用

<pk-popup></pk-popup>

代码示例

基础用法

创建一个弹出层。

template
<pk-cell is-link @click="defaultShow = true">
    <template #title>基础用法示例</template>
</pk-cell>
<pk-popup v-model="defaultShow">
    <div class="popup-content">
        <pk-button @click="defaultShow = false">点击关闭</pk-button>
    </div>
</pk-popup>
script
import { PkPopup, PkCell, PkButton } from "@pumpkin-ui/mobile"
import { ref } from 'vue'

const defaultShow = ref<boolean>(false)

style

弹出方向

通过 position 属性设置弹出层的位置,可选值为 top、bottom、left、right、center,默认为center。

template
<pk-cell is-link @click="topShow = true">
    <template #title>顶部弹出</template>
</pk-cell>
<pk-popup v-model="topShow" position="top">
    <div class="popup-content">
        <pk-button @click="topShow = false">点击关闭</pk-button>
    </div>
</pk-popup>


<pk-cell is-link @click="leftShow = true">
    <template #title>左侧弹出</template>
</pk-cell>
<pk-popup v-model="leftShow" position="left">
    <div class="popup-content">
        <pk-button @click="leftShow = false">点击关闭</pk-button>
    </div>
</pk-popup>


<pk-cell is-link @click="rightShow = true">
    <template #title>右侧弹出</template>
</pk-cell>
<pk-popup v-model="rightShow" position="right">
    <div class="popup-content">
        <pk-button @click="rightShow = false">点击关闭</pk-button>
    </div>
</pk-popup>


<pk-cell is-link @click="bottomShow = true">
    <template #title>底部弹出</template>
</pk-cell>
<pk-popup v-model="bottomShow" position="bottom">
    <div class="popup-content">
        <pk-button @click="bottomShow = false">点击关闭</pk-button>
    </div>
</pk-popup>


<pk-cell is-link @click="centerShow = true">
    <template #title>中间弹出</template>
</pk-cell>
<pk-popup v-model="centerShow" position="center">
    <div class="popup-content">
        <pk-button @click="centerShow = false">点击关闭</pk-button>
    </div>
</pk-popup>
script
import { PkPopup, PkCell, PkButton } from "@pumpkin-ui/mobile"
import { ref } from 'vue'

const topShow = ref<boolean>(false)
const leftShow = ref<boolean>(false)
const rightShow = ref<boolean>(false)
const bottomShow = ref<boolean>(false)
const centerShow = ref<boolean>(false)

style

圆角

通过 round 属性设置弹出层是否为圆角,默认为 false。

template
<pk-cell is-link @click="roundShow = true">
    <template #title>圆角弹出层</template>
</pk-cell>
<pk-popup v-model="roundShow" position="bottom" round>
    <div class="popup-content">
        <pk-button @click="roundShow = false">点击关闭</pk-button>
    </div>
</pk-popup>
script
import { PkPopup, PkCell, PkButton } from "@pumpkin-ui/mobile"
import { ref } from 'vue'

const roundShow = ref<boolean>(false)

style

自定义内容区域背景色

通过 background-color 属性自定义内容区域背景色。

template
<pk-cell is-link @click="backgroundShow = true">
    <template #title>自定义内容区域背景色</template>
</pk-cell>

<pk-popup v-model="backgroundShow" position="bottom" background-color="#ee772f">
    <div class="popup-content">
        <pk-button @click="backgroundShow = false">点击关闭</pk-button>
    </div>
</pk-popup>
script
import { PkPopup, PkCell, PkButton } from "@pumpkin-ui/mobile"
import { ref } from 'vue'

const backgroundShow = ref<boolean>(false)

style

API

Props

属性名说明类型默认值可选值
v-model是否显示弹出层,双向绑定boolean
position弹出层的弹出方向'top'| 'bottom'| 'left'| 'right'| 'center'center'top'| 'bottom'| 'left'| 'right'| 'center'
append-to-body是否将组件插入到body上booleantrue
overlay是否存在遮罩booleantrue
overlay-background-color遮罩层背景颜色string
fade强制显示fade效果,postion为center时,默认为true不支持修改booleanfalse
background-color弹出层内容区域背景颜色stringfalse
overflow-y弹出层内容区域的overflow-y属性'visible'| 'hidden'| 'scroll'| 'clip'| 'auro'auto'visible'| 'hidden'| 'scroll'| 'clip'| 'auro'
round设置弹出层内容区域是否为圆角booleanfalse
close-on-press-overlay是否支持点击遮罩关闭booleantrue
z-index遮罩层层级,组件默认层级是css变量:--pk-z-index-maxnumber

Events

事件名说明回调参数
onOpen打开时触发() => void
onClose打开时触发() => void
onOpened打开动画结束时触发() => void
onClosed关闭动画结束时触发() => void

Slots

插槽名说明
default默认插槽,弹出层上的内容

Exposes

名称说明类型说明
showPopup显示弹出层()=>void
hidePopup隐藏弹出层()=>void

样式变量

名称默认值说明
--pk-overlay-backgroundvar(--pk-overlay-bg-color)
--pk-overlay-z-indexvar(--pk-z-index-max)
--pk-popup-backgroundvar(--pk-bg-color)
--pk-popup-z-indexvar(--pk-z-index-max-2)
--pk-popup-border-radiusvar(--pk-radius-l)
Last Updated:
Contributors: yranky
Prev
Icon 图标
Next
Toast 轻提示