vue 动态组件 render/jsx

news2024/11/19 0:30:46

需求

根据用户需求设定的动态呈现表单内容

刚开始 打算使用v-html使用,但是v-html 无法渲染组件,只能显示原生的dom,操作起来实在是不方便。查阅了之后,发现可以用render或者jsx实现【为了能作为Vue模板解析】。于是乎开启了我render之旅~

使用

<template-content :html="item.divInner" :value="item.defaultValue" :r="item.r" :c="item.c" @checkClick="checkClick"></template-content>
// 自定义了一个组件
/*this.html=
<CheckboxGroup>
    <Checkbox label="香蕉"></Checkbox>
    <Checkbox label="苹果"></Checkbox>
    <Checkbox label="西瓜"></Checkbox>
</CheckboxGroup>*/
components: {
	"template-content": {
	    // 父组件向子组件传值
		props: { html: String, value: null, r: Number, c: Number },
		render: function (h) {
		   //动态绑定的dom组件
			const com = Vue.extend({
				template: `${this.html}`,
			});
			return h(com, {
			    //dom组件发生点击事件,触发父组件方法checkClick(r,c目的是锁定哪个单元格)
				nativeOn: {
					input: (e) => {
					   // e.target.value 获取此值
						this.$emit("checkClick", e, this.r, this.c);
					},
				},
			});
		},
	},
},

为什么没有使用on 而是使用了nativeOn,首先on这个方法并不能触发,需要使用原生事件。(可能是因为这个组件中并没有click事件)

具体内容可以查看 此链接的深入对象这一部分,有具体的参数讲解

在这里插入图片描述

点击事件实现加粗样式后,就开始想如何进行数据双向绑定
在这里插入图片描述
可是如何自己实现双向绑定,我用的是组件,并不是像官网一样 createElement,使用domProps中设定value时并没有赋初始值。
后来各种翻阅,也是没有找到可解之法。于是乎 我放弃了~
百度的博客,分享一下:
博客1
博客2

最终 在表格里面用类型判断 动态显示了组件…(虽然不高级,但好用啊。。。)
在这里插入图片描述

最后的最后 分享一个我的报错
You are using the runtime-only build of Vue where the template compiler is not ava...
是因为 :vue有两种形式的代码
分别是compiler(模板)模式和runtime模式(运行时)。
默认是compiler,开启runtime模式即可
解决方案:【记得重启
在这里插入图片描述
最后的最后的最后
要是有大佬会render的双向绑定,恳请留在评论区,感谢~

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

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

相关文章

基于JAVA的图书借阅管理平台【数据库设计、源码、开题报告】

数据库脚本下载地址&#xff1a; https://download.csdn.net/download/itrjxxs_com/86427643 高校图书馆提倡“以人为本”的管理理念&#xff0c;从读者的角度出发&#xff0c;最大程度满足读者群体的文献资源需要。高校图书馆的管理理念和服务模式之间有着紧密的联系&#xff…

一键开启云原生网络安全新视界

本文作者&#xff1a;陈桐乐 李卓嘉 随着云原生的兴起&#xff0c;微服务、容器、kubernetes容器编排正在快速改变着企业软件架构的形态&#xff0c;单体架构、分布式架构、微服务架构&#xff0c;软件架构在持续演进的过程中&#xff0c;变得越来越复杂&#xff0c;管理和维护…

Qt QLabel文本框的使用

文章目录QLabel文本框的使用QLabel文本框的信号和槽实例演示QLabel文本框的用法已剪辑自: http://c.biancheng.net/view/vip_9653.html QLabel 是 Qt 帮我们写好的一个控件类&#xff0c;间接继承自 QWidget 类&#xff0c;它的继承关系如下&#xff1a; QLabel -> QFrame…

消防宣传科普|消防安全知识网上答题挑战赛活动方案

活动背景 为普及消防法律法规和消防安全知识&#xff0c;营造消防宣传月浓厚氛围。集团公司防火办通过“防火安全知识专项学习与竞答”小程序&#xff0c;开展“消防知识网上答题挑战赛”&#xff0c;提升全员消防安全意识&#xff0c;提高抗御火灾、自防自救和组织疏散能力。…

配置FTP站点操作步骤—图解

前提条件(已安装FTP服务器可忽略)&#xff1a; 点击WinR后在运行窗口中输入control&#xff0c;将打开控制面板&#xff0c;选择【程序】—【启动或关闭Windows功能】—点击【Internet Information Services】勾选【FTP服务器】—点击【确定】按钮按照即可。 1.点击WinR后在运…

数字集成电路设计(六、Verilog HDL高级程序设计举例)

文章目录1. 数字电路系统设计的层次化描述方式1.1 Bottom-Up 设计方法1.2 Top-Down 设计方法2. 典型电路设计2.1 加法器树乘法器2.1.1 改进为两级流水线4位加法器树乘法器2.2 Wallace 树乘法器2.3 复数乘法器2.4 FIR滤波器的设计2.5 存储器的设计2.6 FIFO的设计1. 数字电路系统…

Mac下,protoc-gen-go-grpc: program not found or is not executable问题的解决

一 问题来源 在公司的项目中,需要把对应的proto文件生成对应的pb文件,当执行protoc相关命令时,出现报错:protoc-gen-go-grpc: program not found or is not executable Please specify a program using absolute path or make sure the program is available in your PATH …

IDEA配置Tomcat,先报500错误,刷新后报404.

IDEA配置Tomcat&#xff0c;先报500错误&#xff0c;刷新后报404的解决方法.错误1&#xff1a;JDK的版本高于JRE的版本错误2&#xff1a;Tomcat版本与JDK版本不相符报错截图 错误1&#xff1a;JDK的版本高于JRE的版本 这也是我个人在配置过程中&#xff0c;导致无法配置成功的…

HTML旅游网页设计制作 DW旅游网站官网滚动网页 DIV旅游风景介绍网页设计与实现

&#x1f468;‍&#x1f393;学生HTML静态网页基础水平制作&#x1f469;‍&#x1f393;&#xff0c;页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码&#xff0c;这是一个不错的旅游网页制作&#xff0c;画面精明&#xff0c;排版整洁&#xff0c;内容…

Transferrin-PEG-PMMA 转铁蛋白-聚乙二醇-聚甲基丙烯酸甲酯,F-PEG-PBA/PAE/PPS

产品名称&#xff1a;转铁蛋白-聚乙二醇-聚甲基丙烯酸甲酯 英文名称&#xff1a;Transferrin-PEG-PMMA 纯度&#xff1a;95% 存储条件&#xff1a;-20C&#xff0c;避光&#xff0c;避湿 外观:固体或粘性液体&#xff0c;取决于分子量 PEG分子量可选&#xff1a;350、550、750、…

numpy数组索引、数组切片、数组形状修改、数组类型修改和数组去重

一、numpy数组索引、切片 直接进行索引&#xff0c;切片对象[:, :]&#xff1a;先行后列 代码如下 a np.array([[1, 2, 3], [11, 22, 33]]) # 二维数组 a[1, [0,1,2]] # 索引a np.array([[1, 2, 3], [11, 22, 33]]) # 二维数组 a[1, 0:3] # 切片a2 np.array([[[1,…

【Paper】2021_多智能体系统滞后一致性研究_马逸文

马逸文. 多智能体系统滞后一致性研究[D].西南民族大学,2021.DOI:10.27417/d.cnki.gxnmc.2021.000193. 文章目录第一章 绪论第三章 二阶离散线性多智能体系统滞后一致性3.5 数值仿真第一章 绪论 第三章 二阶离散线性多智能体系统滞后一致性 3.5 数值仿真 x0(k1)Ax0(k)v0(k)v0(…

脚本-抽取配置文件

要获取不同版本的下载链接需要通过三次点击才能进入到有下载链接的Html页&#xff0c;想写爬虫的话需要使用selenium去实现点击功能&#xff0c;然后这个网站比较乱&#xff0c;所以根据Xpath也不太好写&#xff08;可能得写好多异常处理&#xff09;&#xff0c;所以我选择手动…

数字化门店| 奶茶店智慧管理系统

奶茶如今已经成为年轻女性的常饮品&#xff0c;比如蜜雪冰城、奈雪的茶之类的品牌线下门店&#xff0c;门店量的庞大覆盖&#xff0c;使得每天都是人来人往&#xff0c;但碰上优惠活动日或节假日&#xff0c;很多人需要排很长的队才能买到&#xff0c;同时在店内坐的消费者如果…

[附源码]java毕业设计血库管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

网页期末作业 基于HTML+CSS中国传统节日【清明节】带论文8000字

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

关于python内置数据类型的小练习

文章目录练习-两数之和求不重复子串的长度练习-两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同…

Typescript 中根据某个字段判断其他字段是否必传

背景 我在使用 Typescript 的时候遇到过这样的一个问题。我有这样的一个组件 前面的两个搜索框是根据参数判断是否要隐藏的&#xff0c;Typescript 的类型定义就是这样的 type BasicItem {label: stringvalue: number } type BrandItem BasicItem & {}type Pruduction…

Linux19 --- 线程同步、用户级和内核级线程、互斥锁、信号量、读写锁、条件变量

一、线程同步 线程同步指的是当一个线程在对某个临界资源进行操作时&#xff0c;其他线程都不可以对这个资源进行操作&#xff0c;直到该线程完成操作&#xff0c;其他线程才能操作&#xff0c;也就是协同步调&#xff0c;让线程按预定的先后次序进行运行。 线程同步的方法有…

Windows OpenGL 图像透明度调节

目录 一.OpenGL 图像透明度 1.原始图片2.效果演示 二.OpenGL 图像透明度源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL ES …