Ant Design Vue封装a-drawer
1.创建子组件
<template>
<a-drawer
:title="drawerInfo.customTitle"
:placement="placement"
:closable="drawerInfo.showCloseIcon"
:visible="drawerInfo.visible"
@close="onClose"
:width="drawerInfo.width"
:maskClosable="drawerInfo.clickmaskFlag"
>
<div clang="cont-all">
<slot></slot>
</div>
</a-drawer>
</template>
<script lang="ts">
import { defineComponent, reactive, watch } from 'vue'
export default defineComponent({
props: {
// 从那个方向打开
openlocal: {
type: String,
default: 'right',
},
// 宽度
width: {
type: String,
default: '461px',
},
// 标题
customTitle: {
type: String,
required: true,
},
// 是否展示抽屉
showMskFalg: {
type: Boolean,
default: false,
},
// 显示关闭图标
showCloseflag: {
type: Boolean,
default: true,
},
// 点击蒙层是否允许关闭
clickmaskFlag: {
type: Boolean,
default: true,
},
},
setup(props, { emit }) {
const drawerInfo = reactive({
placement: props.openlocal, //打开的方向
width: props.width, //宽度
customTitle: props.customTitle, //标题
visible: props.showMskFalg, //默认关闭
showCloseIcon: props.showCloseflag, //closable
clickmaskFlag: props.clickmaskFlag, // 点击蒙层是否允许关闭
})
// 点击遮罩层或右上角叉或取消按钮的回调
function onClose() {
emit('otherHander')
}
// 监听打开或者关闭
watch(props, ({ showMskFalg }) => {
drawerInfo.visible = showMskFalg
})
return {
drawerInfo,
onClose,
}
},
})
</script>
2封装时的注意点
showMskFalg这个参数是控制抽屉是否展开的一个变量
默认这个值是关闭的
由于这个值是有父级传递过来的
我们需要对这个值进行监听
于是便有了
监听打开或者关闭
watch(props, ({ showMskFalg }) => {
drawerInfo.visible = showMskFalg
})
他表示的是监听props中的showMskFalg这个值
3.使用组件
<a-button type="primary" @click="showDrawer">Open</a-button>
<drawer-com
openlocal="right"
@otherHander="otherHander"
:showCloseflag="comInfo.showCloseflag"
customTitle="新建目录"
:showMskFalg="comInfo.showMskFalg"
></drawer-com>
let comInfo = reactive({
showMskFalg: false, //默认关闭
showCloseflag: true, //没有关闭图标
})
// 打开抽屉
function showDrawer() {
comInfo.showMskFalg = true
}
// 关闭抽屉
function otherHander() {
comInfo.showMskFalg = false
}

Ant Design Vue封装a-drawer的更多相关文章
- 基于Ant Design Vue封装一个表单控件
开源代码 https://github.com/naturefwvue/nf-vue3-ant 有缺点本来是写在最后的,但是博文写的似乎有点太长了,估计大家没时间往下看,于是就把有缺点写在前面了,不喜 ...
- Vue 2.x折腾记 - (17) 基于Ant Design Vue 封装一个配置式的表单组件
前言 写了个类似上篇搜索的封装,但是要考虑的东西更多. 具体业务比展示的代码要复杂,篇幅太长就不引入了. 效果图 2019-04-25 添加了下拉多选的渲染,并搜索默认过滤文本而非值 简化了渲染的子组 ...
- Ant Design Vue select下拉列表设置默认值
在项目中需要为Ant Design Vue 的 select 组件设置一个默认值,如下图所示的状态下拉选择框,默认选择全部 代码如下: <a-select v-model="query ...
- Ant Design Vue Pro 项目实战-项目初始化(一)
写在前面 时间真快,转眼又是新的一年.随着前后端技术的不断更新迭代,尤其是前端,在目前前后端分离开发模式这样的一个大环境下,交互性.兼容性等传统的开发模式已经显得有些吃力.之前一直用的是react,随 ...
- 使用ant design vue的日历组件,实现一个简单交易日与非交易日的切换
使用ant design vue的日历组件,实现一个简单交易日与非交易日的切换 需求: 日历区分交易日.非交易日 可以切换面板查看整年交易日信息 可以在手动调整交易日.非交易日 演示实例 序--使用软 ...
- 使用npm安装 Ant Design Vue 时报错—ant-design-vue@latest(sha1-qsf / gCIFcRYxyGmOKgx7TmHf1z4 =)seems to be corrupted.
安装 Ant Design Vue 时报错: npm install ant-design-vue --save ant-design-vue @ latest(sha1-qsf / gCIFcRYx ...
- Vue3学习(二)之集成Ant Design Vue
一.集成Ant Design Vue npm install ant-design-vue@2.0.0-rc.3 --save 兼容性 Ant Design Vue 2.x 支持所有的现代浏览器. 如 ...
- Ant Design Vue项目解析-前言
源码系列文章很长时间没有更新,一是在考虑文章用什么方式写质量会更高,用什么方式总结更易于扩展和总结知识点,加上工作.看书.健身占用的时间比较多所以也没时间去整理.最近在网上看到一篇文章感觉这种方式不错 ...
- 文档驱动 —— 表单组件(五):基于Ant Design Vue 的表单控件的demo,再也不需要写代码了。
源码 https://github.com/naturefwvue/nf-vue3-ant 特点 只需要更改meta,既可以切换表单 可以统一修改样式,统一升级,以最小的代价,应对UI的升级.切换,应 ...
- 使用Vue-Cli搭建Ant Design Vue前端开发环境
如果文章有帮助到你,还请点个赞或留下评论 搭建脚手架 环境准备 nodeJS vue-cli 如果没有安装点击此处查看安装方法 进入 vue ui 1.打开终端,输入命令 vue ui 2.选择项目存 ...
随机推荐
- openGauss内核:简单查询的执行
摘要:本文主要分析简单查询语句在业务处理线程Postgres上的执行流程,并介绍如何利用gdb梳理代码逻辑. 本文分享自华为云社区<openGauss内核分析(二):简单查询的执行>,作者 ...
- 火山引擎 DataTester 为企业降本增效:1 个人也能成为一支 A/B 实验团队
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 今年天猫电商.京东均表示交易规模与 2021 年持平,跟往年急剧增长的销售额相比,今年的双十一显得略微" ...
- QA: Solon 怎么输出下载文件流?
Solon 的Mvc可以直接返回 DownloadedFile 或者 File 对象 @Mapping("/demo/down") @Controller public class ...
- python 解析字节码的相关方法
python代码被解释器执行时分为两步走: 一.python编译器将代码编译成字节码 二.python虚拟机执行字节码 由于这两步是一起的,所以在python编程中很少能看到字节码.但是想要提高代码效 ...
- Windows 端使用 C++ 服务操作类
#pragma once #include <windows.h> #include <string> // #include <iostream> class S ...
- Spark SQL 字段血缘在 vivo 互联网的实践
作者:vivo互联网服务器团队-Hao Guangshi 一.背景 字段血缘是在表处理的过程中将字段的处理过程保留下来.为什么会需要字段血缘呢? 有了字段间的血缘关系,便可以知道数据的来源去处,以及字 ...
- 技术文档丨 OpenSCA技术原理之npm依赖解析
本文主要介绍基于npm包管理器的组件成分解析原理. npm介绍 npm(全称Node Package Manager)是Node.js标准的软件包管理器. npm的依赖管理文件是package.jso ...
- 嵌入式数据库H2作为服务端
H2数据库一般情况都是作为嵌入式的数据库服务,不需要多个应用连接同一个h2的服务,但有的情况下需要他像oralce那样提供数据服务让多个应用访问. 一.环境准备(linux) 1.其他环境下生成的H2 ...
- Java面试——数据库知识点
MySQL 1.建 主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合.一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null). 超键:在关系中能唯一标识元组的属性 ...
- P5730
这道题莫名其妙的在本地能过可是洛谷上却0分,把WA的点下载下来之后发现我输出的和他要输出的明明一模一样,说明洛谷的评测有一些问题.我把getchar输入换成cin输入后就AC了,说明洛谷对getcha ...