vue3使用tsx自定义弹窗组件

1.在ts代码中使用css

我这里使用了@styils/vue,npm install @styils/vue --save-dev,在tsx文件中引入即可:import { styled } from "@styils/vue";

2.在tsx中初始化组件,创建在src的utils目录中创建messagebox.tsx

import { createApp} from "vue";
// 这里使用了element-plus的组件,请自行引入即可
import { ElButton } from "element-plus";
import { styled } from "@styils/vue";const DivModal = styled('div', {position: 'fixed',width: '100%',height: '100%',left: 0,top: 0,background: '#00000050',display: 'flex',justifyContent: 'center',alignItems: 'center'
});const DivBox = styled('div', {display: 'flex',minWidth: '25%',background: '#fff',padding: '10px 0',color: '#333',borderRadius: '10px',boxShadow: '0 0 3px #00000080',flexDirection: 'column',alignItems: 'center'
});const DivText = styled('div', {marginBottom: '1em'
});const Messagebox = {props: {msg: {type: String,required: true},},render(ctx: any) {const { $props, $emit } = ctx;return (<DivModal class="modal"><DivBox class="box"><DivText class="text">{$props.msg}</DivText><div onClick={$emit('onClick(e)')}><ElButton type="primary">确 定</ElButton></div></DivBox></DivModal>);},
};export function showMsg(msg: String, isModal: Boolean | null, onClickHandler: Function) {const div = document.createElement("div");document.body.appendChild(div);const app = createApp(Messagebox,{msg,onClick(e: any) {if (isModal) {onClickHandler(() => {app.unmount();div.remove();});} else {const isButton = e.target.localName === "button" || e.target.innerText === "确定";if (isButton) {onClickHandler(() => {app.unmount();div.remove();});}}}});app.mount(div);
};

3.在vue中使用该组件

<template><el-button type="primary" @click="showTsxMsg">显示tsx封装的弹窗</el-button>
</template><script lang="ts" setup>
import { showMsg } from "@/utils/messagebox";const showTsxMsg = () => {showMsg("tsx封装的组件", true, (close: Function) => {close();});
};
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/156405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录-刷题第三天

203. 移除链表元素 题目链接&#xff1a;203. 移除链表元素 思路&#xff1a;创建一个虚拟头结点&#xff0c;用来保证删除第一个元素和删除其他元素的操作相同。 时间复杂度&#xff1a;O(n) /*** Definition for singly-linked list.* public class ListNode {* int …

go语言学习-结构体

1、简介 Go语言中的结构体是一种自定义数据类型,可以将不同类型的数据字符组合在一起形成一个单独的实体。结构体可以用于存储和操作复杂的数据结构,以及创建自定义数据类型。通过自定义结构体创建的变量,可以存储不同类型的数据字段。在实际开发中,结构体的用途非常广泛,…

JSP:Tag文件的使用

需求&#xff1a;多个JSP页面可能需要使用一些相同的信息 例如:导航栏、标题等。 目标&#xff1a;提高这些相同信息的代码的复用性。 方法&#xff1a;将这些相同的元素形成一种特殊的文件&#xff0c;以便所有页面都可以使用&#xff0c;即&#xff1a;Tag文件 1、Tag对…

MySQL数据库入门到大牛_基础_10_创建和管理表(创建和管理数据库;创建表;修改表;重命名表;删除表;清空表,内容扩展)

前面我们完成了查询结构的介绍&#xff0c;本章介绍DDL和DCL中的COMMIT和ROLL BACK。 文章目录 1. 基础知识1.1 一条数据存储的过程1.2 标识符命名规则1.3 MySQL中的数据类型 2. 创建和管理数据库2.1 创建数据库2.2 使用数据库2.3 修改数据库2.4 删除数据库 3. 创建表3.1 创建…

猫罐头哪个牌子好吃?精选5款好评率高的猫罐头推荐!

很多新手养猫的姐妹们都会为选罐头感到焦虑&#xff01;因为每种猫罐头都有优缺点&#xff0c;每只猫咪的胃口也都不同&#xff0c;所以只有综合考虑选择适合自家猫咪的猫罐头的才是最好的。所以姐妹们在选罐头之前可以先做好功课&#xff0c;了解一下怎么选好的猫罐头。 作为开…

Jmeter监听器

Jmeter监听器 一、监听器介绍二、监听器的类型三、监听器详解3.1 察看结果树3.2 Summary Report3.3 聚合报告3.4 后端监听器3.5 Aggregate Graph3.6 Comparison Assertion Visualizer&#xff08;比较断言可视化器&#xff09;3.7 JSR223 Listener3.8 Response Time Graph3.9 S…

欧科云链研究院:从香港SFC最新文件看链上交易合规必备之选

出品&#xff5c;欧科云链研究院 作者&#xff5c;Hedy Bi 近日&#xff0c;香港证监会在其官网发布“致持牌法团、获证监会发牌的虚拟资产服务提供者及有联系实体的通函 - 打击洗钱&#xff0f;恐怖分子资金筹集经更新的《打击洗钱&#xff0f;恐怖分子资金筹集的自我评估查…

java switch case 多条件 正确案例错误案例

正确案例&#xff1a; 1.多条件下可以通过case 7: case 3: 执行条件或|&#xff0c;简而言之就是 if (type 7 || type 3){ … } case 0:final String v1 row.get(field).toString();row.put(field, v1);break;case 1:final Float v2 Float.parseFloat(row.get(field).toStri…

CICD 持续集成与持续交付(2)

目录 gitlab 部署 jenkins 部署 配置 实时触发 自动化构建docker镜像 通过ssh插件交付任务 添加jenkins节点 RBAC pipeline jenkins结合ansible参数化构建 安装ansible 新建gitlab项目 jenkins新建项目playbook gitlab 部署 虚拟机最小需求&#xff1a;4G内存 4核cpu 下载&…

shell: 遍历目录下的文件并查看

CRTDIR$(pwd) S"/" ls .| grep ifc | while read file doif test -f $filethenecho "#cat "$CRTDIR$S$filecat $CRTDIR$S$filefi done

【智能优化算法】从蚁群到动物园

目录 引言蚁群优化算法&#xff08;ACO&#xff09;ACO 机理ACO 模型描述ACO 移动策略 粒子群优化算法&#xff08;PSO&#xff09;PSO 机理PSO 模型描述 萤火虫群优化算法&#xff08;GSO&#xff09;GSO 机理GSO 模型描述 群智能优化算法 引言 21世纪&#xff0c;人类社会已经…

ElementUI用el-table实现表格内嵌套表格

文章目录 一、效果图二、使用场景三、所用组件元素&#xff08;Elementui&#xff09;四、代码部分 一、效果图 二、使用场景 &#x1f6c0;el-form 表单内嵌套el-table表格 &#x1f6c0;el-table 表格内又嵌套el-table表格 三、所用组件元素&#xff08;Elementui&#xff…

Kubeadm部署Kubernetes Containerd集群

文章目录 概述一、硬件系统二、基础配置设置主机名配置主机名与IP地址解析关闭防火墙与selinux时间同步(ntp)升级系统内核配置内核转发及网桥过滤*安装ipset及ipvsadm关闭SWAP分区 三、Containerd准备Containerd获取下载解压Containerd配置文件生成并修改Containerd启动及开机自…

5年经验之谈 —— 性能测试如何定位分析性能瓶颈?

你好&#xff0c;我是小牛&#xff0c;目前在一家准一线互联网大厂做测试开发工程师。 对于一般公司普通测试工程师来说&#xff0c;可能性能测试做的并不是很复杂&#xff0c;可能只是编写下脚本&#xff0c;做个压测&#xff0c;然后输出报告结果&#xff0c;瓶颈分析和调优…

【Hello Go】Go语言复合类型

复合类型 分类指针基本操作new函数指针作为函数的参数 数组概述操作数据数组初始化数组比较在函数之间传递数组 slice概述切片的创建和初始化切片操作切片和底层数组关系内建函数appendcopy 切片作为函数传参 map概述创建和初始化常用操作赋值遍历 删除map作函数参数 结构体结构…

近期问题笔记20231116

DMA的洛伦兹约束的来源 多拉格朗日乘子的拉格朗日对偶问题的次梯度搜索 鲁棒优化&#xff0c;only statistical CSI of the users-to-RIS channels H 2 , k \mathbf{H}_{2,k} H2,k​ is available 期望符号的去除&#xff0c; 阅读这篇论文 C.-K. Wen, S. Jin, and K.-K. …

导数...

导数定义: f ′ ( x 0 ) lim ⁡ x → x 0 f ( x ) − f ( x 0 ) x − x 0 f(x_0)\lim\limits_{x\rightarrow{x_0}}\frac{f(x)-f(x_0)}{x-x_0} f′(x0​)x→x0​lim​x−x0​f(x)−f(x0​)​ 罗尔定理:如果函数在[a,b]可导,并且f(a)f(b),那么[a,b]区间内一定有个导数是0 中值…

Python (十三) 输出

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

基于Python+TensorFlow+Django的交通标志识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 随着交通网络的不断扩展和智能交通系统的发展&#xff0c;交通标志的自动识别变得愈发重要。本项目旨在利用Python编…

Redis--list列表

基础概念 元素必须是字符串类型列表头尾增删快&#xff0c;中间增删慢&#xff0c;增删元素是常态元素可以重复最多可以包含2^32 - 1个元素索引和python的列表一样 常用命令 - 增加数据 1.LPUSH key value1 value2 说明&#xff1a;从列表头部压入元素 返回&#xff1a;l…