vue3 antd项目实战——Modal弹窗自定义遮罩 maskStyle
- 知识回调
- 场景复现
- 关于mask遮罩的API属性
- 利用maskStyle属性自定义遮罩样式
知识回调
文章内容 | 文章链接 |
---|---|
vue3 antd ts实战——ant-design-vue组件库引入 | https://blog.csdn.net/XSL_HR/article/details/127396384?spm=1001.2014.3001.5501 |
本文沿用ant design vue
组件库,上述文章可快速上手👆👆👆
场景复现
在后台管理系统的项目开发中,弹窗组件用到的地方很多。由于自带的默认样式不太符合视觉要求,因此需要利用maskStyle属性来自定义modal弹窗的遮罩样式。
具体需求: 修改默认蒙版样式更符合视觉
解决方法:使用组件库自带的api属性——maskStyle
实现效果:(弹窗的背景有一层可自定义的蒙版)
关于mask遮罩的API属性
点击传送至ant designvue官方文档弹窗组件
在API部分,以下三条是关于mask遮罩的属性👇👇
解释一下:
- mask属性——对应值ture或false,控制是否有遮罩,true为有遮罩,false则为关闭。默认打开。
- maskClosable属性——对应值true或false,控制蒙层是否可以关闭,true为可关闭,false则为不可关闭。
- maskStyle属性——对应值object类型。绑定style样式。
利用maskStyle属性自定义遮罩样式
1、弹窗基础部分(一定要先注册再使用组件)
<a-button
style="margin-top:5px"
size="small"
@click="showModal()"
>预览
</a-button>
<a-modal
v-model:visible="visible"
title="基础弹窗"
:footer="null"
>
<!-- 弹窗内的内容-->
</a-modal>
const visible = ref<boolean>(false); // 默认弹窗是关闭状态
const showModal = () => {
visible.value = true // 点击按钮即可打开弹窗
- :footer=“null” 清除默认底部按钮
由于ant design vue组件库内的弹窗叫做对话框,因此默认带有底部的确认和取消按钮。- v-model:visible=“visible” 绑定弹窗的展示状态
2、弹窗自定义样式
在a-modal标签中写入以下代码:👇👇👇
:maskStyle="{
'opacity':'0.15',
'background':'#FFFFF',
'animation':'none'
}"
- opacity 透明度(一般透明度为0.1~0.2)
- background 背景色(一般使用浅色)
- animation 动画(一般不适用动画,影响视觉)
下面看看实现效果:
由内而外的结构:
- 橙色框内是弹窗的主体部分,用于存放弹窗的内容。
- 红色框和橙色框之间是弹窗边缘的一个自带样式。
- 蓝色框和红色框之间是弹窗的遮罩。