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')
					}
				})
相关推荐
代码搬运媛10 小时前
git 下中文文件名乱码问题解决
前端
CaffeinePro10 小时前
告别知识点零散!React零基础通关,从环境搭建到Ant Design页面实战
前端·react.js
cidy_9811 小时前
水龙头领不到测试币?手把手用 Hardhat 本地环境零门槛学以太坊交易
前端
因_崔斯汀11 小时前
Three.js 3D 地图特效与材质实现指南
前端
angerdream11 小时前
手把手编写儿童手机远程监控App之vue3用 AI Agent生成菜单
前端
触底反弹11 小时前
🧠 搞懂 Token,才算真正入门大模型——从分词原理到 Embedding 语义实战
javascript·人工智能·算法
free3511 小时前
AST Interpreter 的设计:为什么分 evaluate() 和 execute()
javascript
cidy_9811 小时前
Git Pull 代码冲突后完整回退教程
前端
JING小白11 小时前
Day 1 重学Vue:响应式系统的“底层逻辑”变更,Vue2旧时代的终结与Vue3新时代的开启
前端·vue.js
张就是我10659211 小时前
一个 ZIP 文件,把 webshell 写到了不该在的地方
前端