当前位置: 首页 > news >正文

【echarts】拖拽滑块dataZoom-slider自定义样式,简单适配移动端

电脑端

在这里插入图片描述

移动端

在这里插入图片描述

代码片段

    dataZoom: [{type: 'inside',start: 0,end: 100},{type: 'slider',backgroundColor: '#F2F5F9',fillerColor: '#BFCCE3',height: 13, // 设置slider的高度为15start: 0,end: 100,right: 60,left: 60,bottom: 15,handleIcon:'path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5M36.9,35.8h-1.3z M27.8,35.8 h-1.3H27L27.8,35.8L27.8,35.8z', // 使用类似 axisPointer 的图标handleSize: '200%', // 放大按钮borderColor: 'none',handleStyle: {color: '#BFCCE3',shadowBlur: 6,shadowColor: 'rgba(123, 154, 204, 0.5)',shadowOffsetX: 0, // 阴影偏移x轴多少shadowOffsetY: 0 // 阴影偏移y轴多少},// 显示的label的格式化器// 20050101 变为 2005\n0101labelFormatter: function (index, value) {const year = value.slice(0, 4);const date = value.slice(4);return year + '\n' + date;},textStyle: {fontStyle: 'italic' // 设置字体倾斜},showDataShadow: false // 隐藏数据阴影}]

思路:

  1. showDataShadow: false // 隐藏数据阴影
    是把数据预览去掉
  2. 移动端不太方便,所以把按钮进行了修改方便用户拖拽。
        handleIcon:'path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5M36.9,35.8h-1.3z M27.8,35.8 h-1.3H27L27.8,35.8L27.8,35.8z', // 使用类似 axisPointer 的图标handleSize: '200%', // 放大按钮borderColor: 'none',handleStyle: {color: '#BFCCE3',shadowBlur: 6,shadowColor: 'rgba(123, 154, 204, 0.5)',shadowOffsetX: 0, // 阴影偏移x轴多少shadowOffsetY: 0 // 阴影偏移y轴多少},
  1. 因为 日期格式是 YYYYMMDD, 手机上显示太长了,这里做了换行处理。
        // 显示的label的格式化器// 20050101 变为 2005\n0101labelFormatter: function (index, value) {const year = value.slice(0, 4);const date = value.slice(4);return year + '\n' + date;},
这里有个坑:labelFormatter

labelFormatter官网说,value在type 为 'category’的时候,是索引值。
但我实际看到的效果不是。
比如我有7000个数据点,每次拖拽的时候,索引index只有200多个,导致我获取不到数据。

因为只想拖拽的时候,格式化显示的label,第二个参数就是当时显示的label,但是文档里没有标出来。
https://echarts.apache.org/zh/option.html#dataZoom-slider.labelFormatter
在这里插入图片描述

在这里插入图片描述

相关文章:

  • 深入浅出3D感知中的优化与基于学习的技术 (第二章) 原创教程
  • 整合Spring Boot和Pulsar实现可扩展的消息处理
  • Eureka的自扩展之道:服务自动扩展的秘诀
  • mybatis#号和$区别
  • 开放式耳机怎么选?五大2024年口碑销量爆棚机型力荐!
  • postgresq数据库使用shardingsphere 避坑-分表归并和空指针异常
  • 访问者模式在金融业务中的应用及其框架实现
  • 什么是 URL ?
  • Vue.js 和 Node.js 全栈项目的运行与部署指南
  • 绕过HTTP401和403响应限制工具
  • Grafana 对接 Zabbix 数据源API错误
  • uniapp零基础入门Vue3组合式API语法版本开发咸虾米壁纸项目实战
  • CXL-GPU: 全球首款实现百ns以内的低延迟CXL解决方案
  • 【Rust入门教程】hello world程序
  • Excel中按列的首行字母顺序,重新排列(VBA脚本)
  • 【comparator, comparable】小总结
  • 【刷算法】从上往下打印二叉树
  • 78. Subsets
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • crontab执行失败的多种原因
  • ECS应用管理最佳实践
  • exports和module.exports
  • IP路由与转发
  • Java知识点总结(JavaIO-打印流)
  • magento 货币换算
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • TypeScript迭代器
  • TypeScript实现数据结构(一)栈,队列,链表
  • uni-app项目数字滚动
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 给第三方使用接口的 URL 签名实现
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端技术周刊 2019-02-11 Serverless
  • 如何解决微信端直接跳WAP端
  • 原生Ajax
  • hi-nginx-1.3.4编译安装
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​Python 3 新特性:类型注解
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • # 安徽锐锋科技IDMS系统简介
  • ###C语言程序设计-----C语言学习(6)#
  • #13 yum、编译安装与sed命令的使用
  • #if和#ifdef区别
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .net 反编译_.net反编译的相关问题
  • .Net7 环境安装配置