当前位置:首页 > VUE

vue图表表格实现

2026-02-24 16:33:07VUE

Vue 图表与表格实现方案

图表实现(基于 ECharts)

安装 ECharts 依赖:

npm install echarts --save

基础折线图组件示例:

<template>
  <div ref="chartDom" style="width: 600px; height: 400px"></div>
</template>

<script>
import * as echarts from 'echarts';
export default {
  mounted() {
    const chart = echarts.init(this.$refs.chartDom);
    chart.setOption({
      xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
      },
      yAxis: { type: 'value' },
      series: [{
        data: [820, 932, 901, 934, 1290],
        type: 'line'
      }]
    });
  }
}
</script>

响应式处理方案:

window.addEventListener('resize', () => {
  chart.resize();
});

表格实现(基于 Element UI)

安装 Element UI:

npm install element-ui --save

基础表格组件示例:

<template>
  <el-table :data="tableData" style="width: 100%">
    <el-table-column prop="date" label="日期" width="180"></el-table-column>
    <el-table-column prop="name" label="姓名" width="180"></el-table-column>
    <el-table-column prop="address" label="地址"></el-table-column>
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [{
        date: '2016-05-02',
        name: '王小虎',
        address: '上海市普陀区'
      },{
        date: '2016-05-04',
        name: '李小狼',
        address: '北京市海淀区'
      }]
    }
  }
}
</script>

高级功能实现

表格分页控制:

vue图表表格实现

<el-pagination
  @size-change="handleSizeChange"
  @current-change="handleCurrentChange"
  :current-page="currentPage"
  :page-sizes="[10, 20, 50]"
  :page-size="pageSize"
  layout="total, sizes, prev, pager, next"
  :total="total">
</el-pagination>

图表异步数据加载:

async fetchChartData() {
  const res = await axios.get('/api/chart-data');
  this.chart.setOption({
    series: [{
      data: res.data
    }]
  });
}

性能优化建议

表格大数据量处理:

  • 使用虚拟滚动(如 vue-virtual-scroller)
  • 实现分页加载
  • 固定列宽减少重排

图表优化方案:

vue图表表格实现

  • 按需导入 ECharts 模块
  • 使用 dataset 管理数据
  • 适当降低动画效果

移动端适配方案

响应式表格处理:

@media screen and (max-width: 768px) {
  .el-table__body-wrapper {
    overflow-x: auto;
  }
}

触摸事件支持:

chart.on('click', params => {
  console.log(params.data);
});

常见问题解决方案

图表不显示排查:

  • 检查 DOM 容器宽度高度是否为 0
  • 验证数据格式是否符合要求
  • 确认 ECharts 实例化时机

表格渲染异常处理:

  • 检查数据响应性(Vue.set)
  • 验证 column 定义是否完整
  • 排查样式冲突问题

标签: 图表表格
分享给朋友:

相关文章

vue 表格实现

vue 表格实现

Vue 表格实现方法 基础表格实现 使用 el-table 组件(Element UI)实现基础表格: <template> <el-table :data="tableDat…

h5实现表格样式

h5实现表格样式

实现H5表格样式的方法 使用HTML和CSS创建基础表格 在HTML中,表格通过<table>标签定义,配合<tr>(行)、<td>(单元格)和<th>…

vue 实现表格渲染

vue 实现表格渲染

基本表格渲染 在 Vue 中渲染表格通常使用 v-for 指令遍历数据数组,动态生成表格行。以下是一个简单的示例: <template> <table> <…

vue实现sku表格

vue实现sku表格

Vue实现SKU表格的方法 SKU(Stock Keeping Unit)表格常用于电商平台展示商品的多属性组合,例如颜色、尺寸等。以下是基于Vue的实现方法: 数据结构设计 SKU的核心是属性组合…

vue实现表格刷新

vue实现表格刷新

Vue 实现表格刷新的方法 使用 v-if 强制重新渲染 通过 v-if 控制表格的显示与隐藏,切换时 Vue 会重新渲染组件。 <template> <button @cli…

vue实现表格选择

vue实现表格选择

Vue 实现表格选择功能 在 Vue 中实现表格选择功能可以通过多种方式完成,常见的方法包括使用复选框、单选框或通过点击行高亮选中。以下是几种常见的实现方式。 使用复选框实现多选 在表格的每一行添加…