vue动态表单封装

2023-11-14

需求:根据传参动态生成表单,例如搜索表格的表单

1.组件封装

<template>
  <el-form class="dynamic-form" ref="form" :model="form" :lable-width="lableWidth" :inline="true">
    <el-form-item v-for="(item,index) in list" :label="item.label" label-position="left"
      :key="index" :props="item.name">
      <component :is="item.type" v-model="form[item.name]">
        <template v-if="item.children">
          <component v-for="(child,i) in item.children.list" :key="`${index}_${i}`"
            :value="child.value" :label="child.label" :is="item.children.type">
            {{child.label}}
          </component>
        </template>
      </component>
    </el-form-item>
    <el-form-item>
      <el-button type="primary" @click="handleSearch">查询</el-button>
      <el-button type="primary" @click="handleReset">重置</el-button>
      <el-button type="primary" @click="handleExport">导出</el-button>
    </el-form-item>

  </el-form>
</template>


<script>
/**
 * 1.list 接受从父组件传递过来的定义渲染接口的内容值
 * 2.利用动态根据传递过来的list 中的type 进行组件渲染
 **/
export default {
  name: 'FormGroup',
  data() {
    return {
      form: {},
    };
  },
  props: {
    list: {
      type: Array,
      default: () => {},
    },
    lableWidth: {
      type: Number,
      default: 100,
    },
  },
  methods: {
    handleSearch() {
      this.$emit('handleSearch', this.form);
    },
    handleExport() {},
    handleReset() {
      this.form = {};
      //this.$refs.form.resetFields();
    },
  },
};
</script>

<style lang="scss" scoped>
.dynamic-form {
  ::v-deep {
    .el-form-item__label {
      color: #9fc0f3;
    }
    .el-input__inner {
      border: 1px solid #2da4ff;
      background: rgba(1, 6, 27, 0.7);
      color: #9fc0f3;
    }
  }
}
</style>

2.传递数据定义

 

[{
      name: 'name',
      type: 'el-input',
      value: '',
      label: '姓名',
    },
    {
      name: 'select',
      type: 'el-select',
      value: '',
      label: '选择',
      children: {
        type: 'el-option',
        list: [
          { value: 'man', label: '男' },
          { value: 'woman', label: '女' },
        ],
      },
}]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue动态表单封装 的相关文章

  • 浏览器视口大小(以设备像素为单位)

    Goal 我希望 Flash 能够获得有关浏览器视口宽度和高度 以设备像素为单位 的准确信息初始化 调整大小或浏览器缩放事件时 规格 我需要将 flash 嵌入到在 chrome safari firefox 等中运行的 html 页面中
  • 在 Internet Explorer 中使用什么来监视 jscript 内存使用情况

    我们正在调试 GWT 应用程序 在 Firefox 中运行正常 在 IE6 0 中开始运行正常 但一段时间后 它就会崩溃并开始爬行 经过一些测试后 我们怀疑存在一些内存问题 使用了太多内存 内存泄漏等 除了使用taskmanager和pro
  • 为什么 window 与 Internet Explorer 中的 window.self 不同?

    关于我如何遇到这个问题有一个复杂的背景故事 但为什么self属性不完全等于窗口本身 在 Safari 和 Firefox 及其朋友中 结果如我所料 gt window window self true gt window window se
  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • 如何在网站上使用 svg 元素制作块的屏幕截图?

    我在网站上创建了一个构造函数 其本质是将所选元素及其颜色 svg中的元素 添加到访问者选择的背景和背景颜色 png中的背景 中 然后必须单击 保存 结果 按钮并仅执行工作区的屏幕截图 我写了这个脚本 但它需要屏幕截图 但只有背景 并忽略选定
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • javascript 选择自定义光标 (svg)

    我正在动态地将光标更改为悬停时的本地 svg element on mouseover function this css cursor url svgs pointer svg 9 30 auto 工作正常 但我想选择该 svg 来操纵其
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 如何正确取消引用然后删除 JavaScript 对象?

    我想知道从内存中完全取消引用 JavaScript 对象的正确方法 确保删除时不会在内存中悬空 并且垃圾收集器会删除该对象 当我看这个问题时在 JavaScript 中删除对象 https stackoverflow com questio
  • 如何计算特定字符在字符串中出现的次数

    我正在尝试创建一个函数来查看数组中的任何字符是否在字符串中 如果是 有多少个 我尝试计算每一种模式 但是太多了 我尝试使用 Python 中的 in 运算符的替代方案 但效果不佳 function calc fit element var
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 如何从浏览器向服务器发送“页面将关闭”消息?

    我想向每个 html 文档添加一个脚本 JavaScript 该脚本向服务器发送两条消息 页面确实打开了 页面将关闭 此消息包含页面打开的时间 打开消息应在文档加载时 或加载完成时 发送 这是简单的部分 The close message
  • 使用 Jade 评估自定义 javascript 方法 (CircularJSON)

    我想通过 Jade 将一个对象解析为客户端 JavaScript 通常这会起作用 script var object JSON parse JSON stringify object but my object is circular ht
  • Rails 3.1+ 的 Jasmine 与 Mocha JavaScript 测试 [已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我对茉莉花有经验并且非常喜欢它 有谁有 Jasmine 和 Mocha 的经验 特别是 Rails 的经验吗 我想知道是否值得转用 我已经在 J
  • 主页(网格)上的缩略图现在显得模糊。如何纠正?

    我不知道这看起来是否愚蠢 但从早上开始我就无法纠正这个突然出现在我的博客网站上的错误www candidopinions in http www candidopinions in 我有一个网格视图模板 其中博客文章中的特色图像作为调整大小
  • 有没有办法使用 ko.observableArray 作为地图?

    有没有办法使用ko observableArray http knockoutjs com documentation observableArrays html像地图 字典一样 例如 var arr ko observableArray
  • react-native - 图像需要来自 JSON 的本地路径

    你好社区 我正在react native中开发一个测试应用程序 并尝试从本地存储位置获取图像 我实际在做什么 我将图像直接链接源提供给 var 并在渲染函数中调用此方法 react 0 14 8 react native 0 23 1 np
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u

随机推荐

  • Week 2 Git & Github 6: Rollback

    git revert HEAD 回退最新的一次commit 但是并不会撤销之前的commit记录 只是提交一次新的commit 将文件内容修改到上次commit之前的样子 到这里 我们已经学完了几乎所有的撤销更改的命令了 包括 git ch
  • 如何使用万用表测量二极管的阻值

    如何使用万用表测量二极管的阻值 1 测量时 选用万用表的 欧姆 挡 一般用R x100或R xlk挡 而不用Rx1或R x10k挡 因为Rxl挡的电流太大 容易烧坏二极管 R xlok挡的内电源电压太大 易击穿二极管 2 将两表棒分别接在二
  • 在MacOS下使用Fiddler抓包

    在MacOS下使用Fiddler抓包 在MacOS下使用Fiddler抓包 有两种方式 分别是安装Mac版的Fiddler 或者是用虚拟机 安装Windows系统 在Windows系统下运行Fiddler对Mac系统中的内容进行抓包 Mac
  • AES128加密算法的实现(C/Java/C#)

    最近项目中有一个需求 实现AES128的加密算法 用于硬件和平台的通信 硬件加密部分使用C语言完成 平台有两种不同的环境 java Linux 和C Windows 在网上搜集了一些资料 有人实现过纯C代码的AES加密解密算法 这样实际上有
  • Java 新特性 UpdateWrapper-(修改指定字段)

    UpdateWrapper的使用 UpdateWrapper的使用 修改指定id的名字 可在后增加条件 常用的连接条件 UpdateWrapper的使用 QueryWrapperLambdaQueryWrapper 条件查询 修改指定id的
  • 在 WebStorm 中开发 uni-app

    代码已上传至github github代码地址 https github com Miofly mio git CLI 工程 全局安装 vue cli 3 x 如已安装请跳过此步骤 npm install g vue cli 通过 CLI
  • JavaScript 常见鼠标事件

    常见鼠标事件类型1 1 click鼠标左键点击 2 mousedown 鼠标按下时触发 3 mouseup 鼠标弹起时触发 4 mousemove move移动 鼠标在固定的位置一移动就触发移动 就触发 5 mouseenter 鼠标移入触
  • Qt 识别 DM 码

    Qt 识别 DM 码 下载libdmtx 添加源码到Qt 工程 生成一维码 二维码 识别普通二维码网上库很多 这个库专门识别 DM码 下载libdmtx https github com dmtx libdmtx 添加源码到Qt 工程 li
  • 前程无忧guid、acw_sc__v2

    文章目录 声明 目标网站 acw sc v2分析 python调用测试 话外拓展 风控浅析 往期逆向文章推荐 声明 本文章中所有内容仅供学习交流 严禁用于商业用途和非法用途 否则由此产生的一切后果均与作者无关 若有侵权 请私信我立即删除 目
  • 新型智能优化算法——海鸥优化算法(基于Matlab代码实现)

    目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 1 概述 2019 年 Dhiman G等人提出了一种受自然界海鸥启发的新颖全局优化算法 海鸥优化算法 Seagull Optimization Algorithm SOA
  • 攻防世界RE练习

    攻防世界 一开始学习下re 产生了兴趣 game 这个题目在某个CTF平台做过了0 0 再做一遍 跟着WP 0 0 首先用ExeinfoPe或者Peid查壳 也可以使用file命令查看相关信息 32位程序 使用ida打开 F5反编译 程序逻
  • Blender基础操作:面操作细分、整体切分、挤出、内插、尖分、融并、切割、面的法向、填充等

    目录 1 面操作 进入 面选择 模式 选择一个面 2 面的挤出 3 内插面 4 尖分面 5 面的切割 6 面的法向normal 7 填充面 8 X Ray透视 1 面操作 进入 面选择 模式 选择一个面 4种操作手段 菜单 工具 右键菜单
  • WireShark_过滤语法

    WireShark 过滤语法 过滤IP 如来源IP或者目标IP等于某个IP 例子 ip src eq 192 168 1 107 or ip dst eq 192 168 1 107 或者 ip addr eq 192 168 1 107
  • python网络爬虫--selenium(6)--练习

    一 打开网页获取页面源码 from selenium webdriver chrome import webdriver 初始化 需要加载浏览器驱动 driver webdriver WebDriver executable path ch
  • 为解决cpu与主存的速度匹配可采用什么

    为解决cpu与主存的速度匹配可采用cache存储器 cache存储器是位于cpu和主存储器DRAM之间 规模较小 但速度很高的存储器 通常由静态存储器组成 静态存储器是位于cpu与内存间的一种容量较小但速度很高的存储器 为解决CPU和主存的
  • 计算机中丢失msvcp120.dll是什么意思,电脑提示msvcp120.dll丢失怎么办

    一些朋友在使用电脑的过程中 可能会遇到 msvcp120 dll丢失 的情况 那电脑提示msvcp120 dll丢失怎么办呢 碰到了这种情况不用慌 下面和大家分享电脑提示msvcp120 dll丢失解决方法 电脑提示msvcp120 dll
  • 完整教程:设计一款小巧但强大的传感器

    由IEEE制定的新型单对以太网 SPE 或10BASE T1L物理层标准 为传输设备运行状况信息实施状态监测 CbM 应用提供了新的连接解决方案 SPE提供共享电源和高带宽数据架构 可通过低成本双线电缆在超过1000米的距离实现10 Mbp
  • 实时汇率获取 解决跨域以及循环Ajax请求

    前端框架 ExtJs 币种代码 var currencys curCode USD curCode CNY curCode HKD setInterval function for var idx 0 len currencys lengt
  • Java 单链表

    package com abin lee tree test import com abin des algorithm common json jackson JsonUtil import java util concurrent at
  • vue动态表单封装

    需求 根据传参动态生成表单 例如搜索表格的表单 1 组件封装