Vue + Element-UI —— 项目实战(五)

简介: Vue + Element-UI —— 项目实战(五)

项目演示

项目教学视频链接

https://www.bilibili.com/video/BV1dY411T71E?t=1.2

vue + element-ui 项目演示

五、项目实战五

Ⅰ、Echarts 的使用

1. 安装与配置
  1. 安装 Echarts (此处安装的是固定版本 5.1.2)
  npm i echarts@5.1.2
  1. 在 ./home/index.vue 引入 echarts
  import Echart from "../../src/components/ECharts.vue";
  import * as echarts from 'echarts'
  1. 这是之前请求成功后 data 中的数据
  2. 591fc62576bb4db18aee62512cc8b147.png
2. 折线图
  1. 使用 el-card 用来显示折线图的卡片块
  <el-card shadow="hover" style="height: 280px">
      <!-- ref打标识,用于获取当前的dom节点 -->
      <div style="height: 280px" ref="echarts"></div>
    </el-card>
  1. 在 mounted 钩子中给折线图进行相关数据的配置
  mounted() {
      getData().then((res) => {
        // 将res下的code和data解构 data是数组List中的数据
        const { code, data } = res;
        // 正常接口返回的时候
        if (code === 20000) {
          //获取home.js中定义好的tableData数据
          this.tableData = data.tableData;
          const order = data.orderData; //获取数据
          const xData = order.date; //获取日期
          const keyArray = Object.keys(order.data[0]); //接收数组的第一项
          // 组装series数据
          const series = [];
          // 遍历key值
          keyArray.forEach((key) => {
            // 往series数组中添加元素
            series.push({
              name: key, //图例
              data: order.data.map((item) => item[key]), //对应图例的数据
              type: "line", //折线图
            });
          });
          // 组装option
          const option = {
            xAxis: {
              data: xData,  //接受x坐标的值
            },
            yAxis: {},  //y轴
            // 图例(小标志)
            legend: {
              data: keyArray,
            },
            series,  //组装好的数据
          };
          // 初始化echarts
          const E = echarts.init(this.$refs.echarts);
          //绘图
          E.setOption(option);
       }
  }

4610430a6637489fa07d624d66e02a96.png

3. 柱状图
  1. 使用 el-card 用来显示柱状图的卡片块
  <el-card shadow="hover" style="height: 260px">
      <!-- ref打标识,用于获取当前的dom节点 -->
      <div style="height: 240px" ref="useEcharts"></div>
    </el-card>
  1. 在 if 条件中插入对柱状图的配置
  // 柱状图
    const userOption = {
      legend: {
        // 图例文字颜色
        textStyle: {
          color: "#333",
        },
      },
      grid: {
        left: "20%",
      },
      // 提示框
      tooltip: {
        trigger: "axis",
      },
      xAxis: {
        type: "category", // 类目轴
        data: data.userData.map((item) => item.date),
        axisLine: {
          lineStyle: {
            color: "#17b3a3",
          },
        },
        axisLabel: {
          interval: 0,
          color: "#333",
        },
      },
      yAxis: [
        {
          type: "value",
          axisLine: {
            lineStyle: {
              color: "#17b3a3",
            },
          },
        },
      ],
      color: ["#2ec7c9", "#b6a2de"],
      series: [
        {
          name: "新增用户",
          data: data.userData.map((item) => item.new),
          type: "bar", // 柱状图
        },
        {
          name: "活跃用户",
          data: data.userData.map((item) => item.active),
          type: "bar",
        },
      ],
    };
    // 初始化Echarts
    const U = echarts.init(this.$refs.useEcharts);
    // 绘图
    U.setOption(userOption); 


4d70a6ee0374405687c90684b5d8eb66.png

4. 饼图
  1. 使用 el-card 用来显示饼图的卡片块
  <!-- 饼状图 -->
    <el-card shadow="hover" style="height: 260px">
      <!-- ref打标识,用于获取当前的dom节点 -->
      <div style="height: 240px" ref="videoEcharts"></div>
    </el-card>
  1. 在 if 条件中插入对饼状图的配置
  // 饼图
    const videoOption = {
      tooltip: {
        trigger: "item",
      },
      color: [
        "#0f78f4",
        "#dd536b",
        "#9462e5",
        "#a6a6a6",
        "#e1bb22",
        "#39c362",
        "#3ed1cf",
      ],
      series: [
        {
          data: data.videoData,
          type: "pie",
        },
      ],
    };
    // 初始化Echarts
    const V = echarts.init(this.$refs.videoEcharts);
    V.setOption(videoOption); //绘图

31822e54a6cd47539a9954e5fe6759c8.png

不积跬步无以至千里 不积小流无以成江海

目录
打赏
0
0
0
0
10
分享
相关文章
Vue Amazing UI 组件库(Vue3+TypeScript+Vite 等最新技术栈开发)
Vue Amazing UI 是一个基于 Vue 3、TypeScript、Vite 等最新技术栈开发构建的现代化组件库,包含丰富的 UI 组件和常用工具函数,并且持续不断维护更新中。另外,组件库全量使用 TypeScript,支持自动按需引入和 Tree Shaking 等,能够显著提升开发效率,降低开发成本。
48 5
Vue Amazing UI 组件库(Vue3+TypeScript+Vite 等最新技术栈开发)
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
97 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
Ant Design Vue UI框架的基础使用,及通用后台管理模板的小demo【简单】
这篇文章介绍了如何使用Ant Design Vue UI框架创建一个简单的后台管理模板,包括创建Vue项目、安装和使用ant-design-vue、以及编写后台管理通用页面的代码和样式。
Ant Design Vue UI框架的基础使用,及通用后台管理模板的小demo【简单】
vue element-ui 中el-message重复弹出问题解决 el-message重复弹出解决办法
vue element-ui 中el-message重复弹出问题解决 el-message重复弹出解决办法
370 49
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
366 0
[译] 在 Vue 组件中分离 UI 和业务逻辑。
[译] 在 Vue 组件中分离 UI 和业务逻辑。
Vue.js组件库大对决:Element UI与Vuetify,开发者的罗密欧与朱丽叶!
【8月更文挑战第30天】Element UI和Vuetify是Vue.js开发中的热门组件库,前者简洁高效,后者遵循Material Design,国际化程度高。两者均提供丰富的组件支持,但Vuetify组件更多样,设计更灵活;Element UI在性能和中文支持上更优。文档方面,Element UI更直观易懂,而Vuetify配置灵活但学习成本稍高。选择时需综合考虑项目需求、团队背景及设计风格,以达到最佳开发效果。
389 0
Vue实现Element UI框架的自定义输入框或下拉框在输入时对列表选项进行过滤,以及右键列表选项弹出菜单进行删除
本文介绍了如何在Vue框架结合Element UI库实现自定义输入框或下拉框,在输入时对列表选项进行过滤,并支持右键点击列表选项弹出菜单进行删除的功能。
218 0
Vue+Element UI
该博客文章介绍了如何在Vue中集成Element UI来构建后台管理系统的左侧菜单,包括使用`el-menu`、`el-submenu`和`el-menu-item`等组件,并通过Vue router动态构建菜单项及其路由设置。
|
8月前
|
vue + element UI 表单中内嵌自定义组件的表单校验触发方案
vue + element UI 表单中内嵌自定义组件的表单校验触发方案
212 5

热门文章

最新文章

相关实验场景

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等