当前位置: 首页 > 文档资料 > FeArt 中文文档 >

Popup 弹出层

优质
小牛编辑
134浏览
2023-12-01

使用指南

组件介绍

弹出层容器,用于展示弹窗、信息提示等内容,支持多个弹出层叠加展示

引入方式

import { Popup } from "feart";
components:{
  'fe-popup':Popup
}
data() {
  return {
    showdefault: false,
    showCenter: false,
    showTop: false,
    showBottom: false,
    showLeft: false,
    showRight: false,
    showContainer: false,
    showClose: false,
    showClose1: false,
    showClose2: false,
    showRound: false,
  };
}

代码演示

默认 Popup 从上下左右弹出

使用 :style设置样式

<fe-popup v-model="showTop" position="top" :style="{ height: '30%' }">
  <div class="popupTop">上上</div>
</fe-popup>

<fe-popup v-model="showBottom" position="bottom" :style="{ height: '30%' }">
  <div class="popupBottom">下下</div>
</fe-popup>

<fe-popup v-model="showLeft" position="left" :style="{ width: '30%', height: '100%' }">
  <div class="popupLeft">左左</div>
</fe-popup>

<fe-popup v-model="showRight" position="right" :style="{ width: '30%', height: '100%' }">
  <div class="popupRight">右右</div>
</fe-popup>

指定挂载节点

<fe-popup v-model="showContainer" get-container="body">
  <div class="popupRight">Container</div>
</fe-popup>

<!-- 挂载到 body 节点下 -->
<fe-popup v-model="showContainer" get-container="body" :style="{ padding: '30px 50px' }">
  <div class="popup">Container</div>
</fe-popup>

<!-- 挂载到 #root 节点下 -->
<fe-popup v-model="showContainer" get-container="#root" :style="{ padding: '30px 50px' }">
  <div class="popup">Container</div>
</fe-popup>

<!-- 通过函数指定挂载位置 -->
<fe-popup v-model="showContainer" :get-container="getContainer" :style="{ padding: '30px 50px' }">
  <div class="popup">Container</div>
</fe-popup>

 

export default {
  methods: {
    // 返回一个特定的 DOM 节点,作为挂载的父节点
    getContainer() {
      return document.querySelector('.my-node');
    },
  },
};

圆角 Popup

<fe-popup v-model="showRound" round position="bottom" :style="{ height: '30%' }">
  <div class="popup">圆角Popup</div>
</fe-popup>

关闭图标

关闭图标
<fe-popup v-model="showClose" closeable position="bottom" :style="{ height: '30%' }">
  <div class="popup"></div>
</fe-popup>

自定义关闭图标
<fe-popup
  v-model="showClose1"
  closeable
  close-icon="closed"
  position="bottom"
  :style="{ height: '30%' }"
>
  <div class="popup"></div>
</fe-popup>

自定义位置
<fe-popup
  v-model="showClose2"
  closeable
  position="bottom"
  close-icon-position="top-left"
  :style="{ height: '30%' }"
>
  <div class="popup"></div>
</fe-popup>

API

参数说明类型默认值可选值
value是否关闭,使用 v-model 绑定Booleanfalsetrue,false
position弹出的位置Stringcenterleft, right, top, bottom
mask是否显示遮罩Booleantruetrue,false
mask-class自定义遮罩层类名String--
mask-style自定义遮罩层样式Object--
closeable是否显示关闭图标Booleanfalsetrue,false
round是否显示圆角Booleanfalsetrue,false
close-icon关闭图标名称或图片链接StringmcheckIcon 组件
close-on-click-mask是否在点击遮罩层后关闭Booleantruetrue,false
get-container指定挂载的节点String Function--
-----

Slots

Slot 名说明备注
default弹窗主体内容-
---

Events

事件名参数说明备注
open-打开弹出层时触发-
close-关闭弹出层时触发-
click-mask-点击遮罩层时触发-