zoukankan      html  css  js  c++  java
  • Element UI 封装Table --> 实现动态创建表头和单元格数据(单元格内可动态增加非纯文本的内容)

    上一篇文章我们对element-ui下table组建做了一次简单的封装,实现了根据数据动态创建表头以及单元格数据,但是单元格的数据以及这种表格形式只能是纯文本的展示形式。随着需求的变化,我们可能会在表格中的显示按钮或者图片、视频等多媒体可交互的资源。结合element官方文档,对上一篇封装的代码又做了一层处理。

    现有代码:

    <template>
        <el-table
        :data="tableData"
        border
        style=" 100%">
        <el-table-column  
          v-for="(value, index) in table.tableHeader"          
          :prop=" String(index) "
          :label="value"
        >
        </el-table-column>
        </el-table>
    </template>
    
    <script>
        return {
          table:{
            tableData: [
                ['2016-05-01', '张小虎', '沈阳市普陀区金沙江路 1518 弄'],
                ['2016-05-02', "李小虎", '上海市普陀区金沙江路 1518 弄'],
                ['2016-05-03', '王小虎', '北京市普陀区金沙江路 1518 弄']
            ],
            tableHeader: ['日期', '姓名', '地址']
          }
        }
    </script>

    封装后的代码:

    <template>
      <el-table
        :data="table.tableData"
        border
        style=" 100%">
        <el-table-column  
          v-for="(value, index) in table.tableHeader"       
          :prop="String(index)"
          :label="value"
        >
          <template slot-scope="scope">
            <div v-if="scope.row[index].indexOf('http') === -1">{{scope.row[index]}}</div>
            <img v-else :src="scope.row[index]" />
            </template>
        </el-table-column>
        </el-table>
    </template>
    return {
      table:{
        tableData: [
          ['https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcdnimg103.lizhi.fm%2Faudio_cover%2F2017%2F10%2F12%2F2629782108856577031_320x320.jpg&refer=http%3A%2F%2Fcdnimg103.lizhi.fm&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1612513335&t=a67d1ed2eb2e271e9fa526dc8d51acfc', '张小虎', '沈阳市普陀区金沙江路 1518 弄'],
          ['2016-05-02', "李小虎", '上海市普陀区金沙江路 1518 弄'],
          ['2016-05-03', '王小虎', '北京市普陀区金沙江路 1518 弄'],
          ['2016-05-04', '王小虎', '北京市普陀区金沙江路 1518 弄']
        ],
        tableHeader: ['日期', '姓名', '地址']
       }
    }

    可以看到第一行的第一个单元格的数据是一个图片地址,当我们遇到这种图片地址的时候,在模版中我们做了一下判断,用图片的方式显示,下面是封装前后效果对比

    本篇文章只是对自己遇到的需求做了一个简单的总结,没有涵盖到各类情况。请谅解!!!

  • 相关阅读:
    硬件基础---拆装机
    Dynamics CRM 2015 Update 1 系列(4): 自己定义主键
    Heroku第三方服务接入指南(二)
    ssh 免密登录
    CentOS 7 NAT软路由
    Nginx升级
    挖矿病毒
    安装 epel-release
    hydra 安装和使用
    Linux 安全信息查看
  • 原文地址:https://www.cnblogs.com/wangweizhang/p/14242452.html
Copyright © 2011-2022 走看看