[echarts] 两侧堆叠柱状图

news2024/12/23 15:48:05

在这里插入图片描述
http://echarts.zhangmuchen.top/#/detail?cid=xOQSXIOQiK

const myData = ['福田区', '罗湖区', '南山区', '盐田区', '宝安区', '龙岗区', '坪山区', '龙华区', '光明区', '大鹏区'];
// 全彩屏,双基色屏,简易屏,条形屏
const offLine = [
    [20, 40, 60, 60, 10, 20, 40, 20, 20, 10],
    [10, 30, 50, 20, 50, 30, 30, 40, 10, 20],
    [50, 20, 40, 10, 20, 40, 20, 30, 30, 30],
    [20, 10, 30, 40, 10, 10, 10, 40, 40, 40],
];

const onLine = [
    [10, 20, 20, 40, 20, 10, 60, 60, 40, 20],
    [20, 10, 40, 30, 30, 50, 20, 50, 30, 10],
    [30, 30, 30, 20, 40, 20, 10, 40, 20, 50],
    [40, 40, 40, 10, 10, 10, 40, 30, 10, 20],
];

const offLineSum = [100, 100, 180, 130, 90, 100, 100, 130, 100, 100];
const onLineSum = [100, 100, 130, 100, 100, 90, 130, 180, 100, 100];

// backgroundColor: '#11356D',
option = {
    backgroundColor: '#11356D',
    /*    title: [
        {
            text: '脱机状态',
            top: '2%',
            left: '30%',
            textStyle: {
                color: '#DC3239',
                fontSize: 14,
            },
        },
        {
            text: '联机状态',
            top: '2%',
            right: '30%',
            textStyle: {
                color: '#2087FE',
                fontSize: 14,
            },
        },
    ],*/
    legend: [
        {
            // 图例
            top: '2%',
            left: 'center', // 图例距离左侧距离(此处水平居中)
            textStyle: {
                // 图例文本样式
                color: '#fff',
            },
            itemGap: 100,

            selectedMode: false, //图例点击失效
            data: ['脱机状态', '联机状态'],
        },
        {
            // 图例
            bottom: '45',
            left: 'center', // 图例距离左侧距离(此处水平居中)
            textStyle: {
                // 图例文本样式
                color: '#fff',
            },
            selectedMode: false, //图例点击失效
            data: ['全彩屏', '双基色屏', '简易屏', '条形屏'],
        },
    ],
    tooltip: {
        // 提示框
        show: true,
        trigger: 'axis',
        axisPointer: {
            // 坐标轴指示器配置项。
            type: 'shadow', // 'line' 直线指示器;'shadow' 阴影指示器.
        },
        // formatter: '{b}<br/>脱机: {c}' // 提示框所提示的文本内容
        formatter: function (params) {
            const fullScreenColor = `<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:#F59A3F;"></span>`; // 全彩屏颜色
            const doubleScreenColor = `<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:#F2C751;"></span>`; // 双基色屏颜色
            const simpleScreenColor = `<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:#296FFB;"></span>`; // 简易屏颜色
            const lineScreenColor = `<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:#4AA5EA;"></span>`; // 条形屏颜色
            const fullScreen = params[0]; // 全彩屏序列
            const doubleScreen = params[1]; // 双基色屏序列
            const simpleScreen = params[2]; // 简易屏屏序列
            const lineScreen = params[3]; // 条形屏屏序列
            const bg = params[4]; // 背景区分联机与脱机
            const status =
                bg.seriesName === '联机状态'
                    ? `<span style="display:inline-block;color:#2087FE;">联机</span>`
                    : `<span style="display:inline-block;color:#DC3239;">脱机</span>`;
            return (
                `${fullScreen.name}(${status})</br>` +
                `${fullScreenColor}${fullScreen.seriesName}${fullScreen.value}</br>` +
                `${doubleScreenColor}${doubleScreen.seriesName}${doubleScreen.value}</br>` +
                `${simpleScreenColor}${simpleScreen.seriesName}${simpleScreen.value}</br>` +
                `${lineScreenColor}${lineScreen.seriesName}${lineScreen.value}</br>`
            );
        },
    },
    grid: [
        {
            // 左边
            show: false,
            left: '2%',
            top: 20,
            bottom: 60,
            containLabel: true,
            width: '43%',
        },
        {
            // 中间
            show: false,
            left: '55%',
            top: 40,
            bottom: 60,
            width: '14%',
        },
        {
            // 右边
            show: false,
            right: '2%',
            top: 20,
            bottom: 60,
            containLabel: true,
            width: '43%',
        },
    ],
    // X轴线配置
    xAxis: [
        {
            // 左侧区域
            gridIndex: 0, // x 轴所在的 grid 的索引,默认位于第一个 grid。[ default: 0 ]
            type: 'value', // 轴线类型: 数值轴
            position: 'top', // 轴线位置(此处位于顶部)
            inverse: true, // 是否是反向坐标轴.[ default: false ]
            axisLine: {
                show: false, // 轴线不显示
            },
            axisTick: {
                show: false, // 轴线刻度不显示
            },
            axisLabel: {
                // 轴线刻度标签
                show: true, // 显示刻度标签
                textStyle: {
                    // 标签样式
                    color: '#153D7D64',
                    fontSize: 12,
                },
            },
            splitLine: {
                // 垂直于X轴的分隔线
                show: true, // 显示分隔线
                lineStyle: {
                    // 分隔线样式
                    color: '#153D7D64',
                    width: 1,
                    type: 'solid',
                },
            },
            // 强制设置坐标轴分割间隔
            // interval: 50,
            // min: 0, // 最小值
            // max: 200 // 最大值
        },
        {
            // 中间区域
            gridIndex: 1,
            show: false, // 中间部分不显示X轴
        },
        {
            // 右侧区域
            gridIndex: 2,
            type: 'value',
            position: 'top',
            inverse: false, // 是否是反向坐标轴.[ default: false ]
            axisLine: {
                show: false,
            },
            axisTick: {
                show: false,
            },
            axisLabel: {
                show: true,
                textStyle: {
                    color: '#153D7D64',
                    fontSize: 12,
                },
            },
            splitLine: {
                show: true,
                lineStyle: {
                    color: '#153D7D64',
                    width: 1,
                    type: 'solid',
                },
            },
            // 强制设置坐标轴分割间隔
            // interval: 50,
            // min: 0, // 最小值
            // max: 200 // 最大值
        },
    ],
    // Y轴线配置
    yAxis: [
        {
            // 左侧区域
            gridIndex: 0, // y 轴所在的 grid 的索引,默认位于第一个 grid。[ default: 0 ]
            type: 'category', // 轴线类型: 类目轴
            // 类目轴中 boundaryGap 可以配置为 true 和 false。默认为 true,这时候刻度只是作为分隔线,标签和数据点都会在两个刻度之间的带(band)中间。
            boundaryGap: true, // 坐标轴两边留白策略,类目轴和非类目轴的设置和表现不一样。
            inverse: true, // 是否是反向坐标轴.[ default: false ]
            position: 'right', // y轴的位置。'left' or 'right'
            axisLine: {
                show: false, // y轴线不显示
            },
            axisTick: {
                show: false, // y轴线刻度不显示
                lineStyle: {
                    // 刻度线样式
                    color: '#11356D',
                },
            },
            axisLabel: {
                show: false, // 刻度标签不显示
            },
            data: myData, // Y轴(这里是类目轴)的类目数据
        },
        {
            gridIndex: 1, // 中间区域
            type: 'category',
            boundaryGap: true,
            inverse: true,
            position: 'left', // y轴的位置。'left' or 'right'
            axisLine: {
                show: false,
            },
            axisTick: {
                show: false,
            },
            axisLabel: {
                show: true, // 显示中间部分的Y轴刻度标签(中间的文字)
                textStyle: {
                    // 标签样式
                    color: '#cccccc',
                    fontSize: 12,
                },
            },
            data: myData,
        },
        {
            // 右侧区域
            gridIndex: 2,
            type: 'category',
            boundaryGap: true,
            inverse: true,
            position: 'left',
            axisLine: {
                show: false,
            },
            axisTick: {
                show: false,
                lineStyle: {
                    // 刻度线样式
                    color: '#153D7D',
                },
            },
            axisLabel: {
                show: false,
            },
            data: myData,
        },
    ],
    series: [
        {
            name: '全彩屏', // 系列名称
            type: 'bar',
            // barGap: 5, // 柱间距离
            barWidth: 15, // 柱子宽度
            xAxisIndex: 0, // 对应在X轴的grid索引
            yAxisIndex: 0, // 对应在Y轴的grid索引
            stack: '1', // 相同就是堆叠
            // barGap:'-100%', //重叠
            label: {
                show: true,
                position: 'top',
                color: '#F59A3F',
                fontSize: 10,
            },
            itemStyle: {
                // 柱条样式。
                color: '#F59A3F',
                // borderWidth:1,
                // borderColor:'transparent'
            },
            emphasis: {
                // 鼠标指向高亮
                show: true,
                label: {
                    color: '#F59A3F96', // 高亮状态下柱条颜色
                },
                itemStyle: {
                    color: '#F59A3F96', // 高亮状态下柱条颜色
                },
            },
            data: offLine[0], // 系列中的数据内容数组
        },
        {
            name: '双基色屏', // 系列名称
            type: 'bar',
            barWidth: 15, // 柱子宽度
            xAxisIndex: 0, // 对应在X轴的grid索引
            yAxisIndex: 0, // 对应在Y轴的grid索引
            stack: '1', // 相同就是堆叠
            label: {
                show: true,
                position: 'top',
                color: '#F2C751',
                fontSize: 10,
            },
            itemStyle: {
                // 柱条样式。
                color: '#F2C751',
                // borderWidth:1,
                // borderColor:'transparent'
            },
            emphasis: {
                // 高亮
                show: true,
                label: {
                    color: '#F2C75196', // 高亮状态下柱条颜色
                },
                itemStyle: {
                    color: '#F2C75196', // 高亮状态下柱条颜色
                },
            },
            data: offLine[1], // 系列中的数据内容数组
        },
        {
            name: '简易屏', // 系列名称
            type: 'bar',
            barWidth: 15, // 柱子宽度
            xAxisIndex: 0, // 对应在X轴的grid索引
            yAxisIndex: 0, // 对应在Y轴的grid索引
            stack: '1', // 相同就是堆叠
            label: {
                show: true,
                position: 'top',
                color: '#296FFB',
                fontSize: 10,
            },
            itemStyle: {
                // 柱条样式。
                color: '#296FFB',
                // borderWidth:1,
                // borderColor:'transparent'
            },
            emphasis: {
                // 高亮
                show: true,
                label: {
                    color: '#296FFB96', // 高亮状态下柱条颜色
                },
                itemStyle: {
                    color: '#296FFB96', // 高亮状态下柱条颜色
                },
            },
            data: offLine[2], // 系列中的数据内容数组
        },
        {
            name: '条形屏', // 系列名称
            type: 'bar',
            barWidth: 15, // 柱子宽度
            xAxisIndex: 0, // 对应在X轴的grid索引
            yAxisIndex: 0, // 对应在Y轴的grid索引
            stack: '1', // 相同就是堆叠
            label: {
                show: true,
                position: 'top',
                color: '#4AA5EA',
                fontSize: 10,
            },
            itemStyle: {
                // 柱条样式。
                color: '#4AA5EA',
                // borderWidth:1,
                // borderColor:'transparent'
            },
            emphasis: {
                // 高亮
                show: true,
                label: {
                    color: '#4AA5EA96', // 高亮状态下柱条颜色
                },
                itemStyle: {
                    color: '#4AA5EA96', // 高亮状态下柱条颜色
                },
            },
            data: offLine[3], // 系列中的数据内容数组
        },
        // 脱机背景
        {
            name: '脱机状态', // 系列名称
            type: 'bar',
            // barGap: 5, // 柱间距离
            barWidth: 21, // 柱子宽度
            xAxisIndex: 0, // 对应在X轴的grid索引
            yAxisIndex: 0, // 对应在Y轴的grid索引
            // stack: '1', // 相同就是堆叠
            barGap: '-120%', //重叠
            itemStyle: {
                // 柱条样式。
                // color: '#DC3239',
                color: 'transparent',
                borderWidth: 1,
                borderColor: '#DC3239',
                shadowColor: '#DC3239',
                shadowBlur: 20,
            },
            emphasis: {
                scale: false,
            },
            data: offLineSum, // 系列中的数据内容数组
        },

        {
            name: '全彩屏', // 系列名称
            type: 'bar',
            barWidth: 15, // 柱子宽度
            xAxisIndex: 2, // 对应在X轴的grid索引
            yAxisIndex: 2, // 对应在Y轴的grid索引
            stack: '2', // 相同就是堆叠
            label: {
                show: true,
                position: 'top',
                color: '#F59A3F',
                fontSize: 10,
            },
            itemStyle: {
                // 柱条样式。
                color: '#F59A3F',
                // borderWidth:1,
                // borderColor:'transparent'
            },
            emphasis: {
                // 鼠标指向高亮
                show: true,
                label: {
                    color: '#F59A3F96', // 高亮状态下柱条颜色
                },
                itemStyle: {
                    color: '#F59A3F96', // 高亮状态下柱条颜色
                },
            },
            data: onLine[0], // 系列中的数据内容数组
        },
        {
            name: '双基色屏', // 系列名称
            type: 'bar',
            barWidth: 15, // 柱子宽度
            xAxisIndex: 2, // 对应在X轴的grid索引
            yAxisIndex: 2, // 对应在Y轴的grid索引
            stack: '2', // 相同就是堆叠
            label: {
                show: true,
                position: 'top',
                color: '#F2C751',
                fontSize: 10,
            },
            itemStyle: {
                // 柱条样式。
                color: '#F2C751',
                // borderWidth:1,
                // borderColor:'transparent'
            },
            emphasis: {
                // 高亮
                show: true,
                label: {
                    color: '#F2C75196', // 高亮状态下柱条颜色
                },
                itemStyle: {
                    color: '#F2C75196', // 高亮状态下柱条颜色
                },
            },
            data: onLine[1], // 系列中的数据内容数组
        },
        {
            name: '简易屏', // 系列名称
            type: 'bar',
            barWidth: 15, // 柱子宽度
            xAxisIndex: 2, // 对应在X轴的grid索引
            yAxisIndex: 2, // 对应在Y轴的grid索引
            stack: '2', // 相同就是堆叠
            label: {
                show: true,
                position: 'top',
                color: '#296FFB',
                fontSize: 10,
            },
            itemStyle: {
                // 柱条样式。
                color: '#296FFB',
                // borderWidth:1,
                // borderColor:'transparent'
            },
            emphasis: {
                // 高亮
                show: true,
                label: {
                    color: '#296FFB96', // 高亮状态下柱条颜色
                },
                itemStyle: {
                    color: '#296FFB96', // 高亮状态下柱条颜色
                },
            },
            data: onLine[2], // 系列中的数据内容数组
        },
        {
            name: '条形屏', // 系列名称
            type: 'bar',
            barWidth: 15, // 柱子宽度
            xAxisIndex: 2, // 对应在X轴的grid索引
            yAxisIndex: 2, // 对应在Y轴的grid索引
            stack: '2', // 相同就是堆叠
            label: {
                show: true,
                position: 'top',
                color: '#4AA5EA',
                fontSize: 10,
            },
            itemStyle: {
                // 柱条样式。
                color: '#4AA5EA',
                // borderWidth:1,
                // borderColor:'transparent'
            },
            emphasis: {
                // 高亮
                show: true,
                label: {
                    color: '#4AA5EA96', // 高亮状态下柱条颜色
                },
                itemStyle: {
                    color: '#4AA5EA96', // 高亮状态下柱条颜色
                },
            },
            data: onLine[3], // 系列中的数据内容数组
        },
        // 联机背景
        {
            name: '联机状态', // 系列名称
            type: 'bar',
            // barGap: 5, // 柱间距离
            barWidth: 21, // 柱子宽度
            xAxisIndex: 2, // 对应在X轴的grid索引
            yAxisIndex: 2, // 对应在Y轴的grid索引
            // stack: '2', // 相同就是堆叠
            barGap: '-120%', //重叠
            itemStyle: {
                // 柱条样式。
                // color: '#2087FE',
                color: 'transparent',
                borderWidth: 1,
                borderColor: '#2087FE',
            },
            data: onLineSum, // 系列中的数据内容数组
        },
    ],
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1024776.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言 coding style

头文件 The #define Guard #define的保护文件的唯一性&#xff0c;防止被多重包含 格式 : <PROJECT>_< FILE>_H_ PROJECT : XS FILE : MV_CTR 头文件的包含顺序 C System FilesOther LibrariesUser LibraryConditional include 作用域 局部变量 -变量定义时需要…

Vuex状态管理最佳实践

文章目录 单一状态树使用模块使用常量定义Mutation类型使用Actions处理异步操作使用Getters计算属性严格模式分模块管理Getter、Mutation和Action&#xff1a;注释和文档&#xff1a;Vue Devtools ✍创作者&#xff1a;全栈弄潮儿 &#x1f3e1; 个人主页&#xff1a; 全栈弄潮…

计算机视觉与深度学习-卷积神经网络-纹理表示卷积神经网络-纹理表示-[北邮鲁鹏]

目录标题 参考文章纹理定义纹理的分类规则纹理随机纹理 纹理的表示方法基于卷积核组思路什么卷积核组卷积核类型&#xff08;边缘、条形、点状&#xff09;卷积核尺度&#xff08;3~6个尺度&#xff09;卷积核的方向卷积核组的设计 表示步骤步骤一&#xff1a;设计卷积核组。步…

软件测试/测试开发丨利用ChatGPT自动生成测试用例思维导图

点此获取更多相关资料 简介 思维导图是一种用图形方式表示思维和概念之间关系的工具&#xff1a; 有些公司会使用思维导图编写测试用例&#xff0c;这样做的优点是&#xff1a; 1.可视化和结构化。 2.易于理解&#xff0c;提高效率。 而 ChatGPT 是无法直接生成 xmind 格式…

Git学习笔记10

代码更新方法&#xff1a; 蓝绿部署&#xff1a; 蓝绿部署&#xff0c;英文名&#xff1a;Blue Green Deployment&#xff0c;是一种可以保证系统在不间断提供服务的情况下上线代码的部署方式。 如何保证系统不间断提供服务呢&#xff1f; 蓝绿部署的模型中包含两套集群。 …

ElementPlus·表单验证

表单验证作用&#xff1a;省去一些错误的请求提交&#xff0c;节省后端接口压力。简单配置、自定义配置&#xff0c;最后进行统一校验工作。 如何校验 及 校验步骤&#xff1a; 简单配置 <script setup> // 表单对象 const form ref({对象: 值 })// 规则对象 const ru…

21. 概率与统计 - 数学期望、统计描述分布

文章目录 数学期望方差标准差协方差二项分布高斯分布中心极限定理泊松分布Hi, 你好。我是茶桁。 在上一节中,我们最后有谈到随机变量。在概率论几统计学中,描述一个随机变量的离散程度的有方差、标准差等等。那么在这节课中,我们就来好好看看这些概念。 不过在这之前呢,我…

【音视频】FLV封装格式

基本概念 文件头(Header)文件体(Body) flv文件头 主要是看signture和typeflags flv文件体 重点&#xff1a;Tag包数据 Tag结构详细说明 注意&#xff1a; 每个Tag的头字段DataSize只是该Tag下data部分的大小&#xff0c;不包括Tag的header部分的大小 音频 AudioTag Data 所在…

若依+lodop+jasperreports+ireport 设计打印票据格式(二)

若依lodopjasperreportsireport 设计打印票据格式&#xff08;二&#xff09; 使用Field绑定Java传入数据 设计页表页数和当前页号 ![在这里插入图片描述](https://img-blog.csdnimg.cn/7091542bd5954845b8fcf39d71d4c9e4.png#pic_cente![在这里插入图片描述](https://img-bl…

[Vue] 绑定下拉菜单

写在前面 同学们&#xff0c;今天的天气很是不错&#xff0c;我们之前进行了复选框的绑定&#xff0c;这次来看看下拉菜单的绑定吧&#xff0c;因为要赶这个创作进度&#xff0c;真的只有再水一篇文章了。大家就当是饭后甜点看看就行。 苏子云 荷尽已无擎雨盖&#xff0c;菊残…

红海云荣膺「2023智享会人力资源技术供应商价值大奖」

9月19日&#xff0c;由中国高端人力资源会员组织智享会&#xff08;HREC&#xff09;主办的“2023人力资源技术供应商价值大奖”颁奖典礼隆重举行&#xff0c;红海云凭借卓越的技术实力与品牌口碑荣膺“2023 HCM系统-本地部署HR臻选供应商”。 智享会“价值大奖”系列评选被称…

基于STM32+华为云IOT设计的智能垃圾桶

一、项目介绍 在商业街、小吃街和景区等人流密集的场所&#xff0c;垃圾桶的及时清理对于提供良好的游客体验至关重要。然而&#xff0c;传统的垃圾桶清理方式通常是定时或定期进行&#xff0c;无法根据实际情况进行及时响应&#xff0c;导致垃圾桶溢满&#xff0c;影响环境卫…

钉钉stream机器人-实操详细教程

支持事件订阅、机器人收消息、卡片回调等功能 优点&#xff1a; 配置简单&#xff0c;不依赖也不需要暴露公网IP&#xff0c;无需向公网开放端口 github官方链接&#xff1a;GitHub - open-dingtalk/dingtalk-stream-sdk-python: Python SDK for DingTalk Stream Mode API, Co…

低噪声 256 细分微步进电机驱动MS35774/MS35774A(汽车应用级别)

MS35774/MS35774A 是一款高精度、低噪声的两相步进 电机驱动芯片&#xff0c;芯片内置功率 MOSFET&#xff0c;长时间工作的平均电 流可以达到 1.4A&#xff0c;峰值电流 2A。芯片集成了过温保护、欠压 保护、过流保护、短地保护、短电源保护功能。 主要特点 ◼ 2 相步进电机…

excel subtotal 函数(分类汇总)

函数说明 返回列表中的分类汇总。 语法 SUBTOTAL(function_num,ref1,[ref2],...) SUBTOTAL 函数语法具有以下参数&#xff1a; Function_num 必需。 数字 1-11 或 101-111&#xff0c;用于指定要为分类汇总使用的函数。 如果使用 1-11&#xff0c;将包括手动隐藏的行&…

glTF模型骨骼动画

推荐&#xff1a;使用 NSDT场景编辑器快速搭建3D应用场景 本文详细演示了风车动画的制作过程&#xff1a; 当然&#xff0c;这非常容易硬编码&#xff08;有两个对象&#xff0c;一个静态的&#xff0c;一个旋转的&#xff09;。但是&#xff0c;我计划稍后添加更多动画&#…

GIF动图怎么变成jpg动图?一键分解GIF动画

GIF格式图片怎么转换成jpg格式图片&#xff1f;在日常生活中jpg、png转GIF格式非常的常见&#xff0c;那么gif转换成jpg格式应该怎么操作呢&#xff1f;很简单&#xff0c;给大家分享一款gif动态图片制作&#xff08;https://www.gif.cn/giffenjie&#xff09;工具&#xff0c;…

51单片机项目(12)——基于51单片机的智能台灯设计

本次设计的功能如下&#xff1a; 首先使用PCF8591芯片&#xff0c;实现了AD DA转换&#xff0c;AD采集的是光敏电阻的信息&#xff0c;光照强度越强&#xff0c;电压越小&#xff0c;AD采集到的数值越小。同时将AD采集的数字量作为DA输出时的输入量&#xff0c;模拟输出端接了…

技术对比:Flutter vs. 传统桌面应用开发框架

在移动应用开发领域&#xff0c;Flutter已经赢得了广泛的认可和采用&#xff0c;成为了跨平台移动应用开发的瑞士军刀。然而&#xff0c;Flutter的魅力并不仅限于移动平台&#xff0c;它还可以用于开发桌面应用程序&#xff0c;为开发人员提供了一种全新的选择。本文将深入探讨…

react 路由的使用

react-router-dom 专注于web网页开发 下载依赖&#xff0c;这里使用的版本是5 npm install react-router-dom5 1.路由的基本使用,点击左侧菜单进行高亮&#xff08;进行高亮要使用NavLink&#xff0c;使用了NavLink,会根据 activeClassName"active"找到active的cl…