vue+element创建动态的form表单及动态生成表格的行和列

动态创建form表单,网上有插件 (form-create) 不过我不知道它怎么用,没有使用成功,如果你使用成功了,欢迎下方留言.

  最后我使用了笨方法,针对各个表单写好通用的组件,然后根据type用v-if来渲染对应的表单,数据,事件什么的都可以动态的传进去,比较好用

<el-form size="mini" class="lj-form lj-form-s1">
       <div v-for="(item,i) in table.customerList" :key="i">
        <!-- 0单行文本 -->
        <el-form-item
         :label="item.field_title + ': '"
         v-if="item.field_type == '0' && item.is_show == '1'"
        >
         <el-input v-model="item.value" :placeholder="item.placeholder"></el-input>
        </el-form-item>
       <!-- 3下拉菜单 -->
        <el-form-item
         :label="item.field_title + ': '"
         v-if="item.field_type == '3' && item.is_show == '1'"
        >
         <el-select v-model="item.value" :placeholder="item.placeholder">
          <span v-for="(item1,i) in item.field_value" :key="i">
           <el-option :label="item1" :value="item1"></el-option>
          </span>
         </el-select>
        </el-form-item>
       </div>
 </el-form>

  动态生成表格的行和列,主要是要求后端返回的数据格式,根据数据来动态渲染

  注意点:这里两个数组 :    表格字段数据: titleData: [],   表格详细数据: tables: [], 数据通过字段来查找/渲染成表格的

 <template>
  <div class="boxShadow">
   <div style="margin-top: 20px">
    <el-table
     :data="tables"
     ref="multipleTable"
     tooltip-effect="dark"
     style="width: 100%"
     @selection-change='selectArInfo'>
     <el-table-column type="selection" width="45px"></el-table-column>
     <el-table-column label="序号" width="62px" type="index">
     </el-table-column>
     <template v-for='(col) in titleData'>
      <el-table-column
       sortable
       :show-overflow-tooltip="true"
       :prop="col.dataItem"
       :label="col.dataName"
       :key="col.dataItem"
       width="124px">
      </el-table-column>
     </template>
     <el-table-column label="操作" width="80" align="center">
      <template slot-scope="scope">
       <el-button size="mini" class="del-com" @click="delTabColOne()" ><i class="iconfont icon-shanchu"></i></el-button>
      </template>
     </el-table-column>
    </el-table>
   </div>
  </div>
 </template>

 data () {
    return {
     tables: [{
      xiaoxue: '福兰',
      chuzhong: '加芳',
      gaozhong: '蒲庙',
      daxue: '西安',
      yanjiusheng: '西安',
      shangban: '北京'
     }, {
      xiaoxue: '南坊',
      chuzhong: '礼泉',
      gaozhong: '礼泉',
      daxue: '西安',
      yanjiusheng: '西安',
      shangban: '南坊'
     }, ],
     titleData: [{
      dataItem: 'xiaoxue',
      dataName: '小学'
     }, {
      dataItem: 'chuzhong',
      dataName: '初中'
     }, {
      dataItem: 'gaozhong',
      dataName: '高中'
     }, {
      dataItem: 'daxue',
      dataName: '大学'
     }, {
      dataItem: 'yanjiusheng',
      dataName: '研究生'
     }, {
      dataItem: 'shangban',
      dataName: '上班'
     }]
    }

总结

以上所述是小编给大家介绍的vue+element创建动态的form表单及动态生成表格的行和列,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

(0)

相关推荐

  • vue elementui form表单验证的实现

    最近我们公司将前端框架由easyui 改为 vue+elementui .自学vue两周 就开始了爬坑之路.业余时间给大家分享一下心得,技术新手加上第一次分享(小激动),有什么不足的地方欢迎大家指正,多多交流才能共同进步! 1.问题 我们公司的项目比较大 表格 表单的页面都不胜数 ,基于此封装了一些 可复用的代码. 2.分析  vue给了我们不一样的前端代码体验  element ui 给我们一套功能强大的组件 减少了我们大量的开发时间 .双剑合璧 天下无敌!  但每个公司的代码风格不同  用户

  • vue自定义表单生成器form-create使用详解

    介绍 form-create 是一个可以通过 JSON 生成具有动态渲染.数据收集.验证和提交功能的表单生成器.并且支持生成任何 Vue 组件.结合内置17种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定. 文档| github 演示项目: 开源的高品质微信商城 功能 自定义组件 可生成任何Vue组件 自带数据验证 轻松转换为表单组件 通过 JSON 生成表单 通过 Maker 生成表单 强大的API,可快速操作表单 双向数据绑定 事件扩展 局部更新 数据验证 栅格布局 内置组件17种常用

  • vue表单验证你真的会了吗?vue表单验证(form)validate

    前言 很久没有写文章了,学习了一下webpack,基础的一些组件,今天带来form表单验证组件(element.iviewui)的一期教程(作为一个菜鸡毕竟经历众多项目可以给一些新手一点提示 (QQ群技术讨论)838293023备注(github进来的 github 技术文档技术文档会持续更新 效果图 1.原理解释 考虑 我们看一下我们可以用form去整体触发校验也可以单个input来触发form-item 进行校验 童鞋们现在可能感觉还是没懂,没关系继续往下看. 2.派发和广播 为什么要用广播

  • 使用Vue动态生成form表单的实例代码

    具有数据收集.校验和提交功能的表单生成器,包含复选框.单选框.输入框.下拉选择框等元素以及,省市区三级联动,时间选择,日期选择,颜色选择,文件/图片上传功能,支持事件扩展. 欢迎大家star学习交流:github地址 示例 https://raw.githubusercontent.com/xaboy/form-create/dev/images/sample110.jpg 安装 npm install form-create OR git clone https://github.com/xa

  • 详解vue如何使用rules对表单字段进行校验

    1.在代码中,添加属性::rule <Form ref="loginForm" :model="form" :rules="rules" @keydown.enter.native="handleSubmit" class="form-con"> <FormItem prop="phone"> <Input v-model="form.phone&

  • vue+elementUI 复杂表单的验证、数据提交方案问题

    当我们在做后台管理系统时,经常会遇到非常复杂的表单: 表单项非常多 在各种表单类型下,显示不同的表单项 在某些条件下,某些表单项会关闭验证 每个表单项还会有其他自定义逻辑,比如 输入框可以插入模板变量.输入字符数量显示.图片上传并显示.富文本 ... 在这种错综复杂的情况下,完成表单的验证和提交 可以查看具体例子:例子中省略了很多琐碎的功能,只保留整体的复杂表单框架,用于展示解决方案 方案1: 在一个 vue 文件中 所有的表单项显示隐藏.验证.数据获取.提交.自定义等逻辑放在一起 v-if/v

  • vue+element创建动态的form表单及动态生成表格的行和列

    动态创建form表单,网上有插件 (form-create) 不过我不知道它怎么用,没有使用成功,如果你使用成功了,欢迎下方留言. 最后我使用了笨方法,针对各个表单写好通用的组件,然后根据type用v-if来渲染对应的表单,数据,事件什么的都可以动态的传进去,比较好用 <el-form size="mini" class="lj-form lj-form-s1"> <div v-for="(item,i) in table.custome

  • vue+element创建动态的form表单.以及动态生成表格的行和列

    动态创建form表单,网上有插件 (form-create) 不过我不知道它怎么用,没有使用成功,如果你使用成功了,欢迎下方留言. 最后我使用了笨方法,针对各个表单写好通用的组件,然后根据type用v-if来渲染对应的表单,数据,事件什么的都可以动态的传进去,比较好用 复制代码  1 <el-form size="mini" class="lj-form lj-form-s1">  2             <div v-for="(i

  • JavaScript实现动态添加Form表单元素的方法示例

    本文实例讲述了JavaScript实现动态添加Form表单元素的方法.分享给大家供大家参考,具体如下: 之前写过类似的文章(如:javascript实现的动态添加表单元素input,button等),现在看来比较初级,弄一个高级的简单的 情景: 后台要上传游戏截图,截图数量不确定,因此使用动态添加input节点的方法去实现这个效果 主要用到的函数有: document.getElementById(); objNode.parentNode; objNode.cloneNode(); objNo

  • 动态设置form表单的action属性的值的简单方法

    用jQuery时,可如下设置: form表单: <form name="myform" id="myform" action="ssss" method="post" onsubmit="getUrl();"> javascript方法: <script type="text/javascript"> function getUrl(){ $('form').at

  • 解决在Vue中使用axios用form表单出现的问题

    vue中使用Axios第三方库,采用形式提交,参数格式为multipart /格式数据 ,请求参数变为对象格式的解决办法.(推荐第二种方法) 提交数据的四种编码方式 一,应用/ X WWW的窗体-urlencoded 这应该是最常见的后编码方式,一般的表单提交默认以此方式提交.大部分服务器语言对这种方式都有很好的支持.在PHP中,可以用$ _ POST ["钥匙"]的方式获取到关键的值,在节点中我们可以使用查询字符串中间件对参数进行分离 app.post("/server&q

  • jQuery动态设置form表单的enctype值(实现代码)

    代码简单, 注意2个地方enctype和encoding 复制代码 代码如下: $("#form").attr("enctype", "multipart/form-data");            $("#form").attr("encoding", "multipart/form-data");            $("#form").attr(&quo

  • Vue动态生成表格的行和列

    当在开发项目的时候,固定的页面表格标题及内容不能满足需求,需要根据不同的需求动态加载不同的表格表头和表格的内容,具体的实现代码如下: <template> <div class="boxShadow"> <div style="margin-top: 20px"> <el-table :data="tables" ref="multipleTable" tooltip-effect=&

  • 使用ElementUI循环生成的Form表单添加校验

    目录 ElementUI循环生成的Form表单添加校验 HTML代码片段 VUE中data中的声明 效果图 ElementUI循环动态生成表单校验问题 ElementUI循环生成的Form表单添加校验 ElementUI 中使用循环生成的form表单需要动态添加校验的规则 在data中定义好需要的rule,使用Element的语法给 :rules 动态绑定 :prop="getAllTableData.${i}.value" getAllTableData是v-for绑定的数组,i是索

  • layui 对弹窗 form表单赋值的实现方法

    目的: 点击编辑按钮 实现 数据回显到弹出 子页面 表单 内.如下图: Html 代码: <body> <div class="layui-form" lay-filter="useradmin" id="useradmin"> <div class="layui-form-item"> <label class="layui-form-label">用  户

  • 原生js实现form表单序列化的方法

    当我们有form表单而且里面的表单元素较多时,咱们总不能一个个去获取表单元素内的值来进行拼接吧!这样会很让人蛋疼!为了方便与后台交互并且提高自己的开发效率,并且不让你蛋疼:我们一起用原生来写一个表单序列化方法: 先介绍一下jquery中有相应的表单序列化的方法: 1.serialize()方法 格式:var data = $("form").serialize(); 功能:将表单内容序列化成一个字符串. 这样在ajax提交表单数据时,就不用一一列举出每一个参数.只需将data参数设置为

随机推荐