以下是使用class、vue2和elementui编写的一个页面示例:

<template>
  <div class="page">
    <el-tabs v-model="activeTab" @tab-click="handleTabClick">
      <el-tab-pane label="活动说明">
        <el-table :data="activityData" style="width: 100%">
          <el-table-column prop="name" label="名称"></el-table-column>
          <el-table-column prop="date" label="日期"></el-table-column>
        </el-table>
      </el-tab-pane>
      <el-tab-pane label="打卡统计">
        <el-table :data="attendanceData" style="width: 100%">
          <el-table-column prop="name" label="姓名"></el-table-column>
          <el-table-column prop="attendance" label="打卡次数"></el-table-column>
        </el-table>
      </el-tab-pane>
      <el-tab-pane label="心得提交统计">
        <div class="image-list">
          <div v-for="image in imageData" class="image-item">
            <img :src="image.url" :alt="image.alt" @error="handleImageError">
          </div>
        </div>
        <el-pagination @current-change="handlePageChange" :current-page="currentPage" :page-size="pageSize" :total="imageData.length" layout="prev, pager, next"></el-pagination>
      </el-tab-pane>
    </el-tabs>
  </div>
</template>

<script>
export default {
  data() {
    return {
      activeTab: '活动说明',
      activityData: [
        { name: '活动1', date: '2021-01-01' },
        { name: '活动2', date: '2021-02-01' },
        { name: '活动3', date: '2021-03-01' }
      ],
      attendanceData: [
        { name: '用户1', attendance: 10 },
        { name: '用户2', attendance: 15 },
        { name: '用户3', attendance: 8 }
      ],
      imageData: [
        { url: 'image1.jpg', alt: '图片1' },
        { url: 'image2.jpg', alt: '图片2' },
        { url: 'image3.jpg', alt: '图片3' },
        { url: 'image4.jpg', alt: '图片4' },
        { url: 'image5.jpg', alt: '图片5' },
        { url: 'image6.jpg', alt: '图片6' },
        { url: 'image7.jpg', alt: '图片7' },
        { url: 'image8.jpg', alt: '图片8' },
        { url: 'image9.jpg', alt: '图片9' },
        { url: 'image10.jpg', alt: '图片10' },
        { url: 'image11.jpg', alt: '图片11' },
        { url: 'image12.jpg', alt: '图片12' },
        { url: 'image13.jpg', alt: '图片13' },
        { url: 'image14.jpg', alt: '图片14' },
        { url: 'image15.jpg', alt: '图片15' }
      ],
      currentPage: 1,
      pageSize: 8
    };
  },
  methods: {
    handleTabClick(tab) {
      console.log(tab.label);
    },
    handleImageError(event) {
      event.target.src = 'error.jpg';
    },
    handlePageChange(page) {
      this.currentPage = page;
    }
  }
};
</script>

<style>
.page {
  padding: 20px;
}

.image-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.image-item {
  margin: 10px;
}

.image-item img {
  width: 100px;
  height: 100px;
}

.error {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  background-color: lightgray;
  color: white;
  font-size: 24px;
}
</style>

在这个示例中,使用了el-tabs组件实现了tap切换,tap头部有3个为活动说明、打卡统计和心得提交统计。在每个tap的内容区域中,使用了el-table组件展示表格数据,并使用了v-for指令和el-pagination组件实现了图片列表和分页功能。默认图片为error.jpg,当图片加载失败时会显示该错误图片。

请注意,你需要将示例中的图片路径和错误图片路径替换为你项目中实际的图片路径

用classvue2elementui写一个页面页面使用tap切换tap头有3个为活动说明打卡统计心得提交统计tap12内容为table第3个是上方是每行8个的图片组成的列表下方是分页器默认图片为error

原文地址: https://www.cveoy.top/t/topic/hYVO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录