参考;

https://github.com/PanJiaChen/vue-element-admin/blob/master/src/views/table/dynamic-table/components/FixedThead.vue

一、制作下拉多选框

        <el-dropdown :hide-on-click="false" trigger="click">
<el-button size="small" icon="el-icon-s-grid">
<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-checkbox-group v-model="checkboxVal">
<el-dropdown-item>
<el-checkbox label="mLatinName">药材拉丁名</el-checkbox>
</el-dropdown-item>
<el-dropdown-item>
<el-checkbox label="mOriginName">基源名称</el-checkbox>
</el-dropdown-item>
<el-dropdown-item>
<el-checkbox label="mOriginLatinName">基源拉丁名</el-checkbox>
</el-dropdown-item>
<el-dropdown-item>
<el-checkbox label="mMethod">药用部位</el-checkbox>
</el-dropdown-item>
<el-dropdown-item>
<el-checkbox label="mOriginInterview">基源简介</el-checkbox>
</el-dropdown-item>
<el-dropdown-item>
<el-checkbox label="mRemarks">药材简介</el-checkbox>
</el-dropdown-item>
</el-checkbox-group>
</el-dropdown-menu>
</el-dropdown>

二、表格中主要代码

        <el-table-column prop="mName" label="药材名称" width="80"></el-table-column>
<el-table-column v-for="item in formThead" :key="item" :label="test[item]">
<template slot-scope="scope">{{ scope.row[item] }}</template>
</el-table-column>

三、设置要动态显示的表头

const defaultFormThead = [
"mLatinName",
"mOriginName",
"mOriginLatinName",
"mMethod",
"mOriginInterview",
"mRemarks"
]; // 对应的中文名,用于给label赋值
const test = {
"mLatinName":"药材拉丁名",
"mOriginName":"基源名称",
"mOriginLatinName":"基源拉丁名",
"mMethod":"药用部位",
"mOriginInterview":"基源简介",
"mRemarks":"药材简介"
}

四、data中的值

export default {
data() {
return {
key: 1,
formTheadOptions: [
"mLatinName",
"mOriginName",
"mOriginLatinName",
"mMethod",
"mOriginInterview",
"mRemarks"
],
test: test,
checkboxVal: defaultFormThead, // checkboxVal
formThead: defaultFormThead // 默认表头 Default header
};
},

五、methods:

  watch: {
checkboxVal(valArr) {
this.formThead = this.formTheadOptions.filter(
i => valArr.indexOf(i) >= 0
);
this.key = this.key + 1; // 为了保证table 每次都会重渲 In order to ensure the table will be re-rendered each time
}
},

vue:使用element-ui制作动态表格的更多相关文章

  1. vue2.0 + Element UI + axios实现表格分页

    注:本文分页组件用原生 html + css 实现,element-ui里有专门的分页组件可以不用自己写,详情见另一篇博客:https://www.cnblogs.com/zdd2017/p/1115 ...

  2. 5.11-5.15javascript制作动态表格

    制作动态表格的主要是运用js中表格类的insertRow.insertCell简易添加行和列的代码,不过要注意每行添加的表格是有位置行编号的,每行的编号为rows.length-1,增加的表格内的标签 ...

  3. 关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题

        方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form. 其次在拿到了正确的form后,检查该form上添加 ...

  4. element ui table(表格)点击一行展开

    element ui是一个非常不错的vue的UI框架,element对table进行了封装,简化了vue对表格的渲染. element ui表格中有一个功能是展开行,在2.0版本官网例子中,只可以点击 ...

  5. Vue框架Element UI教程-axios请求数据

    Element UI手册:https://cloud.tencent.com/developer/doc/1270 中文文档:http://element-cn.eleme.io/#/zh-CN gi ...

  6. vue与element ui的el-checkbox的坑

    一,场景 通过使用checkbox,实现如图的场景, 点击某个tag,实现选中和非选中状态. 二, 官网的例子 通过切换checked值为true或者false来实现,一个checkbox的状态切换 ...

  7. vue.js+element ui Table+spring boot增删改查

    小白初学,不懂的还是太多了,找了好多资料才做出来的先记录一下 1.先用Spring boot创建一个包含了增删改查的项目 2.创建vue.js项目 3.安装Element UI (1)进入项目文件夹下 ...

  8. vue开源Element UI表单设计及代码生成器

    在日常的开发工作中,表单开发是较为繁琐且重复的.本文介绍一个我自己写的,提高开发效率的小工具. 1 可视化设计器 设计器基于Element UI ,可通过点击或拖拽的方式设计基本表单, 设计器生成的代 ...

  9. vue2.0+Element UI 实现动态表单(点击按钮增删一排输入框)

    对于动态增减表单项,Element UI 官方文档表单那一节已经介绍得很清楚了,我之前没有看见,绕了很多弯路,这里针对点击按钮增删一排输入框的问题做一个总结. 效果图如下 存在一排必填的姓名与手机号, ...

  10. 第五十三篇:Vue安装Element ui

    好家伙,之前写的一篇过时了,用不了了,更新一波 (已新建一个vue项目) 1. 在项目目录下执行:npm i element-ui -S 2. 在main.js中写入 import ElementUI ...

随机推荐

  1. mac 安装并使用 mysql 或者 mac mysql 忘记密码,Can't connect to local MySQL server through socket homebrew

    1. brew install mysql 2. 启动mysql mysql.server start 我遇到了这个error,查openstack解决,我在这粘一下 ### Error:Can't ...

  2. Spring源码由浅入深系列二 类结构

    BeanFactory 上一章中,我们提过Spring的依赖注入容器是BeanFactory.BeanFactory是一个基础接口,它有一个默认实现类:DefaultListableBeanFacto ...

  3. 让BB-Black通过usb0上网

    Frm: http://blog.csdn.net/jamselaot/article/details/17080011 既然我们已经用usb0作为主机和BB-Black之间的网络通道了,再进一步,就 ...

  4. LeetCode刷题笔记-BFS-二叉树层次遍历

    题目描述: 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ ...

  5. tensorflow 模型加载(没有checkpoint文件或者说只加载其中一个模型)

    1.如果有checkpoint文件的话,加载模型很简单: 第一步:都是加载图: with tf.Session() as sess: saver=tf.train.import_meta_graph( ...

  6. Shiro术语

    请花2分钟阅读和理解Shiro中的术语 - 这是非常重要的.这里的术语和概念在文档中的任何地方都被引用,并且将大大简化您对Shiro和一般的安全性的理解. 因为使用了一些您可能不太明白的术语,所以安全 ...

  7. 编译Solr4.72 源码没有成功

    最近需要用到solr,查询Hbase里面的数据,编译Solr的时候遇到了点问题: 下了solr的源码后需要用ant自己编译: 源码下载地址:https://svn.apache.org/repos/a ...

  8. Linux下mysql实现远程连接

    首先明白一点并不是mysql禁止远程连接,而是MYSQL的账号禁止远程连接.可能觉得我有点咬文嚼字了,不过我感觉分清这点还是很重要的.默认情况下,所有账号都是禁止远程连接的.在安装MYSQL的时候,在 ...

  9. BigDecimal踩过的大坑

    通常Java中涉及金钱相关的计算为了保持精度,会采用BigDecimal来实现,但是BigDecimal中创建BigDecimal类对象的时候,如果使用直接new的话,必须是String类型的参数,否 ...

  10. virtualbox启动虚机报错:The VM session was closed before any attempt to power it on.

    解决方法:   image.png 点击清除即可. 或者在控制>清除保存的状态.然后重启虚机即可!