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


Posted in Javascript onMay 20, 2019

  动态创建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表单及动态生成表格的行和列,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
json 入门基础教程 推荐
Oct 31 Javascript
Array的push与unshift方法性能比较分析
Mar 05 Javascript
js 异步操作回调函数如何控制执行顺序
Dec 24 Javascript
jQuery实现返回顶部效果的方法
May 29 Javascript
JavaScript实现打字效果的方法
Jul 10 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
Jan 08 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
Oct 26 Javascript
AngularJS辅助库browserTrigger用法示例
Nov 03 Javascript
javascript判断firebug是否开启的方法
Nov 23 Javascript
原生js实现中奖信息无间隙滚动效果
Jan 18 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
Jul 13 Javascript
ligerUI的ligerDialog关闭刷新的方法
Sep 27 Javascript
Node 搭建一个静态资源服务器的实现
May 20 #Javascript
vue+element实现打印页面功能
May 20 #Javascript
vue+element实现表单校验功能
May 20 #Javascript
javascript的this关键字详解
May 20 #Javascript
小程序实现新用户判断并跳转激活的方法
May 20 #Javascript
node实现socket链接与GPRS进行通信的方法
May 20 #Javascript
JS求1到任意数之间的所有质数的方法详解
May 20 #Javascript
You might like
遭遇php的in_array低性能问题
2013/09/17 PHP
php输入数据统一类实例
2015/02/23 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
php compact 通过变量创建数组
2016/11/15 PHP
PHP脚本自动识别验证码查询汽车违章
2016/12/20 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
2018/01/25 jQuery
Babel 入门教程学习笔记
2018/06/13 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
2020/04/25 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python不规范的日期字符串处理类
2014/06/10 Python
pandas 选择某几列的方法
2018/07/03 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
2020/06/01 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
意大利团购网站:Groupon意大利
2016/10/11 全球购物
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
Saucony澳大利亚官网:美国跑鞋品牌,运动鞋中的劳斯莱斯
2018/05/05 全球购物
澳大利亚有机化妆品网上商店:The Well Store
2020/02/20 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
母亲80寿诞答谢词
2014/01/16 职场文书
酒店销售经理岗位职责
2014/01/31 职场文书
旅游业大学生创业计划书
2014/01/31 职场文书
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL