Vue3使用jsx和render函数动态插入组件和元素

定义弹框组件(只实现功能,不管样式)

javascript 复制代码
import {render} from 'vue'
export function SingPop(content,handler) {
    const div = document.createElement('div');
    let pop = <div>
        <div>{content}</div>
        <div>
            <button onClick={()=>{
                document.body.removeChild(div);
                console.log('不同意');
                handler.cancel && handler.cancel()

            }}>不同意</button>
           <button onClick={()=>{
                document.body.removeChild(div);
                console.log('同意');
                handler.agree && handler.agree();
            }}>同意</button>
        </div>
    </div>
 
/**
 * render ------ 渲染虚拟 DOM
 * @param 参数1 要被渲染的虚拟 DOM,必选
 * @param 参数2 要渲染的位置,必选
 * @description 虚拟 DOM 创建完成后,需要使用 render 函数,才能在页面中渲染
**/
 render(pop,div);
 document.body.appendChild(div);
} 

// 使用

javascript 复制代码
	import {SingPop} from './singPop.jsx'
	// 可通过一个按钮来触发
	SingPop('哈哈哈',{
					cancel:()=>{
						console.log('cancel');
					},
					agree:()=>{
						console.log('agree')
					}
				})
相关推荐
麦麦大数据9 分钟前
基于vue+neo4j 的中药方剂知识图谱可视化系统
vue.js·知识图谱·neo4j
customer0814 分钟前
【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源·intellij-idea
理想不理想v26 分钟前
vue经典前端面试题
前端·javascript·vue.js
不收藏找不到我27 分钟前
浏览器交互事件汇总
前端·交互
小阮的学习笔记40 分钟前
Vue3中使用LogicFlow实现简单流程图
javascript·vue.js·流程图
YBN娜41 分钟前
Vue实现登录功能
前端·javascript·vue.js
阳光开朗大男孩 = ̄ω ̄=41 分钟前
CSS——选择器、PxCook软件、盒子模型
前端·javascript·css
杨荧44 分钟前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
minDuck1 小时前
ruoyi-vue集成tianai-captcha验证码
java·前端·vue.js