当前位置: 首页 > news >正文

根据JSON动态生成表单表格

根据JSON动态生成表单表格

  • 一. 子组件 DynamicFormTable.vue
    • 1,根据JSON数据动态生成表单表格,支持表单验证
    • JS部分
      • 1.1,props数据
      • 1.2,表单数据和数据监听
      • 1.3,自动验证
      • 1.4,表单验证
      • 1.5,获取表单数据
      • 1.6,事件处理
      • 1.7,暴露方法给父组件
    • 2,HTML部分
  • 二,父组件
    • 1, 模拟数据
    • 2,部分事件

一. 子组件 DynamicFormTable.vue

1,根据JSON数据动态生成表单表格,支持表单验证

基于vite+element plus + ts 动态生成表格表单,表单支持添加删除行列。

JS部分

1.1,props数据

const props = defineProps({tableTitle: {type: Array<any>,default: () => []},tableData: {type: Array<any>,default: () => []},tableEvent: {type: Array<any>,default: () => []},height: {type: Number,default: null},eventWidth: {type: Number,default: 100}
})

1.2,表单数据和数据监听

const form = reactive({rows: [...props.tableData]
})watch(() => props.tableData, () => {console.log('props.tableData', props.tableData)form.rows = [...props.tableData]
},{deep: true})

1.3,自动验证

const getRules = (column: any, row: any) => {if (column.required) {return [{ required: true, message: `${column.label}不能为空`, trigger: ['blur', 'change'] }]}return []
}

1.4,表单验证

const dynamicFormRef = ref()const validate = () => {return new Promise((resolve, reject) => {dynamicFormRef.value.validate((valid: any) => {if (valid) {resolv
http://www.dtcms.com/a/155965.html

相关文章:

  • Jenkins流水线管理工具
  • Axure疑难杂症:详解设置选中与选中效果(玩转选中)
  • python——异常
  • 计算机视觉各类任务评价指标详解
  • 从FP32到BF16,再到混合精度的全景解析
  • 深度解析 Java 泛型通配符 `<? super T>` 和 `<? extends T>`
  • Cancer Cell|scRNA-seq + scTCR + 空间多组学整合分析,揭示CD8⁺ T细胞在免疫治疗中的“双路径” | 临床问题的组学解答
  • Tailwind CSS实战:快速构建定制化UI的新思路
  • 【CUDA 编译 bug】ld: cannot find -lcudart
  • 手工收集统计信息
  • 管家婆财贸ERP BB103.收款单按明细核算部门项目
  • Q2桥门式起重机司机考试复习重点
  • 16.ArkUI Toggle的介绍和使用
  • 软件测试流程
  • Mac中 “XX”文件已损坏,无法打开 解决方案
  • 系统架构师2025年论文《论软件架构评估2》
  • DeepSeek+Cline:开启自动化编程新纪元
  • guvcview-源码记录
  • 蓝牙GATT协议
  • 认识 Linux 内存构成:Linux 内存调优之页表、TLB、缺页异常、大页认知
  • 蛋白质大语言模型ESM介绍
  • 前端基础之《Vue(12)—插件封装》
  • 什么是 JSON?学习JSON有什么用?在springboot项目里如何实现JSON的序列化和反序列化?
  • docker-compose安装RustDesk远程工具
  • tkinter的窗口构建、原生组件放置和监测事件
  • windows安装jax和jaxlib的教程(cuda)成功安装
  • 文件IO(Java)
  • 5.3 Dify:低代码平台,适用于企业快速部署合规AI应用
  • 自定义电池电量显示控件 BatteryView 实现
  • express的模板handlebars用app.engine()创建配置和用exphbs.create()的区别