element-ui v-for循环表格

这篇具有很好参考价值的文章主要介绍了element-ui v-for循环表格。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

再某种情况下我们会有这样一个需求 一个页面有多个弹窗表格 但是又不能重复写多个表格 写多个会显得我们的代码难以维护

以下我封装了一个表格 上代码:

<template>
  <el-dialog
    class="dialog-box"
    :visible.sync="visible"
    width="40%"
    center
    :show-close="false"
    :close-on-press-escape="false"
    :append-to-body="true">
    <!-- 头部 -->
      <div class="header-box" slot="title">历史警报</div>
      <!-- 表格 -->
      <el-table
        class="table"
        :data="list"
        :header-cell-style="tableHederStyle"
        :row-style="tableRowStyle"
        style="width: 100%"
        max-height="250px"
        >
        <el-table-column v-for="(item) in listTitle" :key="item.id" :label="item.label" align="center" show-overflow-tooltip>
          <template slot-scope="scope">
            <span :style="{'color':item.colorStyle}">{{scope.row[item.prop]}}</span>
          </template>
        </el-table-column>
    </el-table>
  </el-dialog>
</template>

<script>

export default {
  props: {
    // data有详细说明
    // listTitle: {
    //   type: Array,
    //   default: () =>{
    //     return []
    //   }
    // }
  },

  data () {
    return {
      visible: false,
      id: '',
      list: [{
        id: 1,
        neicun: '80%(状态异常)',
        cpu: '50%',
        yuanyin: '内存损坏安装系统提示解压缩文件出错',
        yingpan: '50%',
        date: '2021/09/21 18:19:20'
      },
      {
        id: 2,
        neicun: '80%(状态异常)',
        cpu: '50%',
        yuanyin: '内存损坏安装系统提示解压缩文件出错',
        yingpan: '50%',
        date: '2021/09/21 18:19:20'
      },
      {
        id: 3,
        neicun: '80%(状态异常)',
        cpu: '50%',
        yuanyin: '内存损坏安装系统提示解压缩文件出错',
        yingpan: '50%',
        date: '2021/09/21 18:19:20'
      },
      {
        id: 4,
        neicun: '80%(状态异常)',
        cpu: '50%',
        yuanyin: '内存损坏安装系统提示解压缩文件出错',
        yingpan: '50%',
        date: '2021/09/21 18:19:20'
      },
      {
        id: 5,
        neicun: '80%(状态异常)',
        cpu: '50%',
        yuanyin: '内存损坏安装系统提示解压缩文件出错',
        yingpan: '50%',
        date: '2021/09/21 18:19:20'
      }],
      listTitle: [{ // 对象的顺序决定table call的顺序 每个都是必传
        prop: 'cpu', // 对应element ui 表格的prop属性
        label: 'CPU', // 对应element ui 表格的label属性
        colorStyle: '#049998' // 动态设置文字的颜色
      },
      {
        prop: 'neicun',
        label: '内存',
        colorStyle: '#9F322F'
      },
      {
        prop: 'yingpan',
        label: '硬盘',
        colorStyle: '#049998'
      },
      {
        prop: 'yuanyin',
        label: '报警原因',
        colorStyle: '#9F322F'
      },
      {
        prop: 'date',
        label: '时间',
        colorStyle: '#049998'
      }],
      tableHederStyle: {
        'background-color': '#122E76',
        'color': '#C5C9D8'
      },
      tableRowStyle: {
        'background-color': '#102052',
      }
    }
  },
  methods: {
    init(id) {
      this.visible = true
    },
  }
}
</script>

<!-- 这里的className外部绝对不要和这里重复 -->
<style lang="scss">
.dialog-box {
    .el-dialog {
      height: 346px;
      background: #102052 url('~@/assets/monitor/horn2.png') no-repeat 100%/cover;
    }
    .el-dialog__header {
      padding-top: 5px;
      margin-top: 32vh !important;
    }
    .header-box {
      width: 100%;
      height: 45px;
      position: relative;
      line-height: 45px;
      color: #47AAE1;
      font-size: 20px;
      font-weight: bold;
      background: url('~@/assets/monitor/layer3.1.png') no-repeat 100%/cover;
      background-position-x: center;
      &::before,&::after {
        content: '';
        display: inline-block;
        width: 58px;
        height: 14px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
      }
      &::before {
        left: 260px;
        background: url('~@/assets/monitor/group134.png') no-repeat 100%/cover;
      }
      &::after {
        right: 260px;
        background: url('~@/assets/monitor/group134x.png') no-repeat 100%/cover;
      }
    }
    .el-table__body-wrapper {
      background-color: #102052;
    }
    .el-table {
      th {
        background-color: #122E76;
      }
      &::before {
        background-color: #133163 !important;
      }
      .el-table__empty-block {
        background-color: #102052;
      }
    }
    .el-table th,td {
      border-bottom: 1px solid #133163 !important;
    }
  }
</style>

样式什么的可以忽略 直接cv即刻使用 主要靠父亲传一个数组来控制表头显示什么以及他的值

样式用不到可以删除

效果:element v-for,ui,elementui,vue.js文章来源地址https://www.toymoban.com/news/detail-526021.html

到了这里,关于element-ui v-for循环表格的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue+Element项目中v-for循环+表单验证

    表单验证的时候: prop改为 “:prop”,形式为\\\'input.\\\' + index + \\\'.ptock\\\' \\\'input.\\\' + index + \\\'.ptock’就是数据结构与数据 每一个循环中的都需要加:rules :prop=\\\"\\\'input.\\\' + index + \\\'.ptock\\\'\\\"的写法也可以是 模板字符串  

    2024年02月15日
    浏览(29)
  • vue elementui v-for 循环el-table-column 第一列数据变到最后一个

    这个动态渲染table表格时发现el-table-column 第一列数据变到最后一个 序号被排到后面 代码 修改后

    2024年02月13日
    浏览(32)
  • element-ui for循环生成表单时,表单校验问题

    1、静态生成的表单,校验规则是放在data中处理 2、动态表单页面,需要把规则放在el-form-item中,进行校验 注意事项: 当使用v-for循环生成表单时, :prop有格式要求 格式不对会报错 :prop=“‘appraisalTempContent.’ + index + ‘.score’” 字段说明: 1、appraisalTempContent=遍历数组的k

    2024年02月16日
    浏览(33)
  • Vue+Element-ui实现表格嵌套表格(表头不同)

    data中integrateList根据后端返回的json数据确定,其格式为:

    2024年02月14日
    浏览(57)
  • Vue Element-ui Table表格排序

    一.表格中有时候会有排序的需求,如果只针对当前页进行排序,那么前端就可以实现排序,在对应需要排序的字段中,使用sortable字段即可。 二.存在分页的情况时,前端仅仅使用sortable当前页排序已经不能满足我们的需求,无法对所有数据进行排序。这时候我们就要使用后端

    2024年02月11日
    浏览(39)
  • vue element-ui表格组件动态多级表头

    实际项目的需求,需要根据后端动态获取的方式来初始化表格的表头包含哪些信息,且有很多信息是有规律的,所以我们需要Element UI动态生成多级表头。需要的效果图如下: 由于统计维度是可变化的(它可以是省市也可以是区县),所以需要专门设置一个表格的数据来保存

    2024年02月10日
    浏览(41)
  • vue+element-ui+springboot 在线表格编辑

    方法: 编辑excel 格式为需要的样子,另存为html 打开files文件,复制html部分代码和样式到vue文件 将需要编辑的部分使用控件填入 代码: 特别地: 服装列数可变,需要动态变换,同时有的可编辑,有的不可编辑 增加表格行数,可通过增加memberList 数据进行动态添加和删除,无

    2024年01月24日
    浏览(38)
  • (vue)element-ui 表格实现勾选单选

    效果: 重选后: 解决参考:https://blog.csdn.net/m0_58373910/article/details/125912828

    2024年02月12日
    浏览(39)
  • vue搭配element-ui前端实现表格分页

    如果不从后台请求数据,那么就需要在前端手动管理数据。可以使用以下步骤实现该功能: 在 Vue 组件的 data 中定义一个数组来存放所有数据(不分页)。 在 mounted 钩子函数中,手动获取数据并存放到上一步定义的数组中。 在模板中使用 element-ui 的表格组件来展示数据,同

    2024年02月11日
    浏览(33)
  • vue+elementui项目打包后部署到测试环境icon全部丢失【element-ui】大版本升级element-ui后,icon全部丢失

    问题:vue+elementui项目打包后部署到测试环境icon全部丢失【element-ui】大版本升级element-ui后,icon全部丢失 解决办法及原因: elementui在2.12版本中icon数量较之2.4.9版本的扩展2倍不止。原来webpack中对于字体loader的限制是limit10000,就会将字体转换为base64,2.12版本中字节已经超过

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包