el-table 循环分别表头以及内容 判断循环图片带分页器

el-table 循环分别表头以及内容 判断循环图片带分页器

记录一下在使用el-table的时候需要从后台拿到图片数据循环到表格上,遇见了图片循环不上的去问题,现已解决。

在这里插入图片描述

话不多说,上代码

<template>
  <div class="">
    <!-- 表格 -->
    <el-table
      :data="
        tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)
      "
      style="width: 100%; margin-bottom: 20px"
      row-key="id"
      border
      default-expand-all
      :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
      @current-change="tableCurrentChange"
    >
      <template v-for="(item, index) in cols">
        <el-table-column :key="index" :prop="item.prop" :label="item.label">
          <template slot-scope="scope">
            <span v-if="item.label !== '铭牌照片' && item.label !== '地点照片'">
              {{ scope.row[item.prop] }}
            </span>
            <el-image
              v-if="item.label == '地点照片'"
              :src="scope.row.address"
              style="width: 40px; height: 40px"
              :preview-src-list="scope.row.addressList"
            />
            <el-image
              v-if="item.label == '铭牌照片'"
              :src="scope.row.url"
              style="width: 40px; height: 40px"
              :preview-src-list="scope.row.urlList"
            />
          </template>
        </el-table-column>
      </template>
    </el-table>
    <!-- 分页器 -->
    <div class="pagination">
      <el-pagination
        :page-sizes="[10, 20, 30, 40, 50]"
        :page-size="pageSize"
        layout="total, sizes, prev, pager, next, jumper"
        :total="tableData.length"
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
      />
    </div>
  </div>
</template>

<script>
  export default {
    name: '',
    components: {},
    data() {
      return {
        // 表内容
        tableData: [
          {
            id: 1,
            date: '2016-05-02',
            name: '王1虎',
            address:
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            url:
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            addressList: [
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            ],
            urlList: [
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            ],
          },
          {
            id: 2,
            date: '2016-05-04',
            name: '王2虎',
            address:
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            url:
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            addressList: [
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            ],
            urlList: [
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            ],
          },
          {
            id: 3,
            date: '2016-05-01',
            name: '王3虎',
            address:
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            url:
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            addressList: [
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            ],
            urlList: [
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            ],
            children: [
              {
                id: 31,
                date: '2016-05-01',
                name: '王31虎',
                address:
                  'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
                url:
                  'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
                addressList: [
                  'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
                ],
                urlList: [
                  'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
                ],
              },
              {
                id: 32,
                date: '2016-05-01',
                name: '王32虎',
                address:
                  'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
                url:
                  'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
                addressList: [
                  'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
                ],
                urlList: [
                  'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
                ],
              },
            ],
          },
          {
            id: 4,
            date: '2016-05-03',
            name: '王4虎',
            address:
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            url:
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            addressList: [
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            ],
            urlList: [
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            ],
          },
          {
            id: 5,
            date: '2016-05-02',
            name: '王1虎',
            address:
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            url:
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            addressList: [
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            ],
            urlList: [
              'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            ],
          },
        ],
        // 表头
        cols: [
          {
            label: '时间',
            prop: 'date',
          },
          {
            label: '姓名',
            prop: 'name',
          },
          {
            label: '地点照片',
            prop: 'address',
          },
          {
            label: '铭牌照片',
            prop: 'url',
          },
        ],
        // 分页器
        pageSize: 10,
        currentPage: 1,
      }
    },
    computed: {},
    watch: {},
    created() {},
    mounted() {},
    methods: {
      handleSizeChange(val) {
        // console.log(`每页 ${val} 条`)
        this.pageSize = val
      },
      handleCurrentChange(val) {
        // console.log(`当前页: ${val}`)
        this.currentPage = val
      },
      // 单击获取一行数据
      tableCurrentChange(val) {
        console.log(val)
      },
    
    },
  }
</script>
<style lang="scss" scoped>
  .el-table {
    width: 100%;
    text-align: center;
  }
  .pagination {
    position: relative;
    top: 0px;
  }
</style>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`el-table`是Element UI库中的一个重要组件,用于创建表格。它是Vue.js框架下的一款轻量级、易用且功能丰富的表格组件,常用于数据展示和管理。在使用`el-table`时,你可以设置列定义、数据源、表头、行操作等。以下是一些基本的`el-table`语法关键点: 1. **数据绑定**:首先,你需要在Vue实例中定义一个数组来存储表格的数据,例如: ```html <el-table :data="tableData"> <!-- ... --> </el-table> ``` `:data`是一个Vue指令,用于绑定数据源。 2. **列配置**:在表格内部,`<el-table-column>`用于定义每一列。比如: ```html <el-table-column prop="name" label="姓名" /> <el-table-column prop="age" label="年龄" /> ``` `prop`属性指定数据字段,`label`属性为列标题。 3. **表头**:默认情况下,数据的键将作为表头的标题。如果你希望自定义表头,可以添加`header-cell`或`cell`属性: ```html <el-table-column header-cell-style="{ background: 'lightblue' }"> ... </el-table-column> ``` 4. **样式和行为**:`el-table`提供了许多选项,如`span-method`处理合并单元格,`sortable`设置列是否可排序,以及`filters`定义列的过滤。 5. **事件处理**:`el-table`支持事件如`@row-click`(点击行)、`@selection-change`(选择项改变)等,你可以通过这些事件进行进一步的操作。 相关问题: 1. `el-table`如何进行分页显示数据? 2. 如何在`el-table`中添加搜索框进行数据过滤? 3. 如何启用`el-table`的编辑模式,让用户可以直接在单元格中输入? ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值