echarts图表标题,层级,view表格,机型适配

news2024/9/21 21:17:25

1.主标题和副标题在同一行上

在副标题当中设置itemGap:0

 title: 
      [{
          text: '',
          left: 'left',
          textStyle: {
              fontSize: adjustSize(0.7),
              fontWeight: 400,color:'#333',
          }
      }
  ,{
    subtext: '',
    left: 'right',itemGap: 0, 
    subtextStyle: { //设置字体样
        fontSize: adjustSize(0.7),
        fontFamily: 'sans-serif',color:'#333',
    } 
  }],

下面是更全的title相关属性

title:{
    //1.标题居中
    //left的值为'left', 'center', 'right'
    left:'center',
    //默认为10
    //2.主副标题之间的间距
    itemGap:20,
    3.标题文本样式   
     text:'标题文本',
     textStyle:{
        //文字颜色
        color:'#ccc',
        //字体风格,'normal','italic','oblique'
        fontStyle:'normal',
        //字体粗细 'normal','bold','bolder','lighter',100 | 200 | 300 | 400...
        fontWeight:'bold',
        //字体系列
        fontFamily:'sans-serif',
        //字体大小
     fontSize:18
    }
    //4.副标题
    subtext:'副标题',
  //副标题文本样式
  subtextStyle:{},
   //5.grid组件离容器左侧的距离。
   // left 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,也            
   可以是 'left', 'center', 'right'。
   //如果 left 的值为'left', 'center', 'right',组件会根据相应的位置自动对齐。
   left:'center'  
}

2.echarts图表和二维表 

最近遇到了一个问题,需求是echarts图表和二维表在同一个界面

因为echarts图表的层级是很高的,导致二维表和echarts图表不在一个界面,网上看到了hidden隐藏的方法(这种情况适用于echars图表层级太高,导致微信原生小程序的选择框被覆盖等情况),

2.1隐藏

隐藏方法用到的是父子组件,子组件给父组件传值需要用到方法,父组件给子组件传值使用properties。

首先在子组件当中的methods方法当中,一些方法里面。调用 this.triggerEvent("sendMonthVisible", { monthVisible:true});

// 打开年月选择器
        showTimePicker(e) {
            const { mode } = e.currentTarget.dataset;
            this.setData({
                mode,
                [`${mode}Visible`]: true,
            });
            this.triggerEvent("sendMonthVisible", { monthVisible:true});
        },

然后再父组件当中的wxml,绑定,sendMonthVisible方法。<DateAndArea bind:sendDateAndArea="getDateAndArea"  bind:sendMonthVisible="getMonthVisible" initData="{{initData}}" />

然后再父组件当中,写对应的方法。

  getMonthVisible(e){
      if(e.detail.monthVisible){
        this.setData({
          echartsShow:false 
        })//改变wxml当中,echarts图表的显示
      }else{
        this.setData({
          echartsShow:true 
        })
        // this.MapInit();
      }
    },

在wxml当中,为每一个view设置了hidden="{{!echartsShow}}" ,当monthVisible为true的时候,隐藏图表,为false的时候,显示图表。

<DateAndArea bind:sendDateAndArea="getDateAndArea"  bind:sendMonthVisible="getMonthVisible" initData="{{initData}}" />
<view class="chartArea">
  <view class="FChart" hidden="{{!echartsShow}}">
    <ec-canvas id="myCanvas" ec="{{ dtmap }}"  canvas-id="myCanvas"></ec-canvas>
    <button size="mini" class="chart-button" hidden="{{!isButtonVisible}}" bindtap="handleRefresh" id='myElement'>返回</button> 
  </view>

如果是有请求的图表初始化,不需要定时器。如果没有请求的需要加定时器。

//dom节点出现需要时间,延迟一下重新渲染图片。
      setTimeout(() => {
        tongBIOption.title[1].subtext = that.data.searchObj.year;
        that.indicatorAnaylize();  
      }, 1000);

2.2zlevel:-1

错的,因为echarts图表层级是最高的

2.3force-use-old-canvas=false

虽然echarts会降级,但是带来的隐形问题就是反应慢,图表模糊

2.4cover-view不起作用

不知道是不是自己没用对

2.5是wx开发者工具的bug

2.6问题解决

我偶然发现了将二维表置于两个echarts图表当中,可以实现,但是他会有一个小bug,就是当下滑条触碰到底部时,二维表会自动向前移动一小段。造成了二维表和echarts图表中间间隔很大。最后我给父容器设置了position:relative,和echarts图表子容器设置了position:absolute(子绝父相)。就可以解决这个问题。

但是随即我发现二维表在两个echarts图表当中并不符合业务需求。所以我将二维表放在最后一个的时候,在这个二维表后面添加了颜色和父容器背景颜色一致的echarts图表。最终完成了我的需求。

相关链接:微信小程序中canvas、echarts层级太高,z-index,cover-view无效问题 - 简书

小程序中echarts因为小程序原生的canvas层级太高,而导致弹窗这类dom元素无法遮挡住canvashttps://www.cnblogs.com/elevens/p/14848521.html

总结:在绝大多数情况下,子元素的绝对定位都是相对于父元素定位

如果希望子元素相对于父元素进行定位,又不希望父元素脱标。常用的解决方案

  1. 父元素设置:position: relative

  2. 子元素设置:position: absolute

 3.使用微信小程序利用view来做一个表格

/**index.wxss**/

/*整个表格*/
.table{
  font-size: 15px;
  width: 98%;
  margin-left: 1%;
  margin-right: 1%;
}
/*设置行*/
.tr {
  width: 100%;
  display: flex;
  /*垂直居中*/
  align-items: center;
  /*水平居中*/
  justify-content: center;
  height: 3rem;
}
/*设置所有单元格*/
.th,.td{
   width: 40%;
  /*文字居中*/
  text-align: center;
  /*垂直居中*/
  align-items: center;
  /*水平居中*/
  justify-content: center;
  /*和上面.tr的height对应,数值修改一样就可*/
  height: 3rem;
}
/*设置表格边框的边框,不想麻烦所以所有的边框都在这里写了,可以自己修改*/
.tr,.th,.td,.table{
  border: 1rpx solid blue;
}
/*标题单元格*/
.th {
  display: flex;
  background: red;
  color: yellow;
  font-size: large;
}
/*文字单元格*/
.td{
  padding-top: 50rpx;
  background:gray;
}

4.在iphone机型上面显示正常的图表,在ipad上面显示不正常

可以通过给grid设置百分比来进行优化,字体的调整可以通过下面这个adjustSize()函数。

grid: {
    x: '20%',
    y: '25%',
    x2: '5%',
    y2: '15%', 
  },
//根据屏幕大小,动态调整字体大小
function adjustSize(res) {  
  // 获取系统信息,同步方法  
  const systemInfo = wx.getSystemInfoSync();  
  let screenWidth = systemInfo.screenWidth; // 获取屏幕宽度  
  // 如果屏幕宽度为0(理论上不会发生,但为了安全起见检查)  
  if (!screenWidth) {  
    return res; // 或者返回一个默认值  
  }  
  // 计算调整因子  
  let adjustSize = 100 * (screenWidth / 1920);  
  // 返回调整后的值  
  return res * adjustSize;  
}

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

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

相关文章

Linux查看jar包错误日志及持久化运行jar包

一、查看jar包运行信息命令&#xff1a;ps -ef | grep java 如图&#xff0c;给出了所部署jar包的环境变量&#xff0c;服务名称&#xff0c;服务端口信息。 这样便能得到部署的jar包是否在服务器成功运行及基本信息。 二、查看日志 启动信息无误&#xff0c;查看日志是否有报错…

机器人5GCPE模块参数的获取与上报设计

目录 1. 5GCPE模块参数功能的获取 2. 5GCPE模块参数功能的上报 3. 5G与WIFICPE运行效果 1. 5GCPE模块参数功能的获取 根据5G皮带机器人新需求&#xff0c;需要增加5GCPE信息的获取与上报参数的需求&#xff0c;以供上位机进行信号强度等信息的展示&#xff0c;所获取的ip地址…

十一、对象池

转载对象池链接&#xff1a;http://t.csdnimg.cn/YnwKL 一、理念 创建一个对象池代码&#xff08;通用版代码&#xff09; 注&#xff1a;对象池是2021之后才有的功能 创建对象池代码&#xff1b;引入命名空间&#xff1b; 公开变量&#xff0c;传入生成的哪个模型 创建对…

11 C语言先序方式创建二叉树

这个代码是使用占位符的方式创建二叉树 #include "stdio.h" #include "stdlib.h"typedef struct node {char data;struct node *lchild;struct node *rchild; } Node;Node *create_node(char value) {Node *node (Node *) malloc(sizeof(Node));if (node…

weblogic漏洞——CVE-2020-14882

一、基本信息 靶机&#xff1a;IP&#xff1a;192.168.100.40 二、攻击过程 进入 vulhub 靶场相关目录&#xff0c;并启动环境 cd master/weblogic/CVE-2020-14882 docker-compose up -d 绕过登录验证 http://192.168.100.40:7001/console/css/%252e%252e%252fconsole.por…

软件测试学习笔记丨Linux-Bash编程语法

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/32091 一、Bash编程基础 1.1 变量 1.1.1 语法 Variable_namevalue 1.1.2 变量定义的规则 变量名区分大小写&#xff0c;a和A为两个不同的变量&#xff1b;变量名可以使用大小写字母混编的…

陷抄袭风波 《黑神话:悟空》该如何应对

都说人红是非多&#xff0c;国产首部3A游戏《黑神话&#xff1a;悟空》在爆火的同时&#xff0c;一些问题也随之出现。一方面《黑神话&#xff1a;悟空》陷入抄袭风波&#xff1f;另一方面该游戏也被很多黑灰产盯上了。 8月23日&#xff0c;“塞上李云中”发布微博&#xff0c;…

【WRF安装编译问题解决】Linux中gcc和gfortran降级方法

Linux中gcc和gfortran降级方法 准备&#xff1a;gcc和gfortran版本查找1 查看gcc和gfortran安装版本2 gcc版本降级2.1 gcc版本降级至9.5.0-通过下载源码编译安装2.2 gcc版本降级至9.1.0-通过下载源码编译安装 3 gfortran版本降级参考 在安装编译WRF环境时&#xff0c;无法成功编…

【Python报错已解决】`WebDriverException: Message: invalid session id`

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 引言&#xff1a;一、问题描述&#xff1a;1.1 报错示例&#xff1a;1.2 报错分析&#xff1a;1.3 解决思路&#xff…

Kubernetes精讲之环境搭建

目录 一 Kubernetes 简介及部署方法 1.1 应用部署方式演变 1.2 容器编排应用 1.3 kubernetes 简介 1.4 K8S的设计架构 1.4.1 K8S各个组件用途 1.4.2 K8S 各组件之间的调用关系 1.4.3 K8S 的 常用名词感念 1.4.4 k8s的分层架构 二 K8S集群环境搭建 2.1 k8s中容器的管…

每日一题,力扣leetcode Hot100之118.杨辉三角

解题思路就是动态规划&#xff0c;确定好边界值和要动态传递的值 边界值就是每一排的第一个和最后一个肯定是1 动态传递值就是除了边界值每一个都等于他的左上加右上 class Solution:def generate(self, numRows: int) -> List[List[int]]:ret list()for i in range(num…

ES之三:springboot集成ES

一.选择版本很重要&#xff0c;不然会找不到好多方法 明明有Timeout方法&#xff0c;不报红&#xff0c;运行时&#xff0c;报错&#xff0c;找不到该类 ClassNotFoundException 为了避免使用的Elasticsearch版本和SpringBoot采用的版本不一致导致的问题&#xff0c;尽量使用…

web群集--nginx常见的几种负载均衡调度算法的配置过程和效果展示

文章目录 前言环境前置配置httpd主机tomcat主机 负载均衡调度算法1.轮询配置过程效果展示 2.加权轮询配置过程效果展示 3. IP哈希&#xff08;IP Hash&#xff09;配置过程效果展示 4. 最少连接&#xff08;Least Connections&#xff09;配置过程效果展示 5.加权最小连接这个在…

实时备份工具

实时同步工具 1. 常用实时同步工具1.1 sersync1.2 inotify-tools1.3 ‌lsync‌ 2. 工具对比2.1 常用实时同步工具对比2.2 ‌sersync和lsyncd对比 3. 实践3.1 sersync1. 简易架构2. 服务器3. 搭建简易web服务器4. 配置NFS服务器5. 配置备份服务器6. 实时同步部分7. 验证 1. 常用…

穿越机的应用行业!!!

1. 军事领域 侦察与目标搜索&#xff1a;穿越机能够快速穿越危险区域&#xff0c;执行侦察任务&#xff0c;实时获取战场信息&#xff0c;对敌方目标进行精确搜索和定位。其灵活性和机动性使其成为战场上的重要侦察工具。 目标摧毁&#xff1a;经过改装的穿越机可挂载火箭弹或…

重磅活动!南开大学赵宏教授倾情分享AI挑战下的教育教学新理念与新方法

人工智能是科技发展的前沿领域&#xff0c;也是推动新质生产力形成的关键动力。当前&#xff0c;各个高校正积极探索人工智能对高等教育的改革&#xff0c;以培养适应未来社会发展需求的新型人才。 本次活动旨在传播 AI 挑战下的教育教学新理念与新方法&#xff0c;推动人才培养…

常见echart图表 返回数据与Java实体类

返回数据示例详见 Examples - Apache ECharts 一、折线图 实体类 public class LineChart {String name;List<BaseSeries> series;List<String> xAxis; }public class BaseSeries {String name;Double[] data; } 二、柱状图 实体类 public class Chart {String…

深度解析Linux系统的基本概念及优缺点和原理

目录 基本概念 操作系统简介 架构组成 多任务处理 安全性与开放性 发行版本 使用场景 学习资源 优点 缺点 1. 软件兼容性问题 2. 图形界面应用程序较少 3. 安装和配置复杂 4. 学习曲线陡峭 5. 缺乏技术支持 6. 硬件兼容性问题 7. 安全风险 8. 性能问题 9. 游…

数据结构代码集训day16(适合考研、自学、期末和专升本)

本题来自B站up&#xff1a;白话拆解数据结构 今日题目就一个&#xff1a;约瑟夫环问题。 一个圈共有N个人&#xff08;N为不确定的数字&#xff09;&#xff0c;第一个人的编号为0或者1&#xff08;两个都可以&#xff0c;看你的程序如何编写&#xff09;&#xff0c;假设这边我…

提升App推广效果,从精准获取下载数据开始

在App推广的过程中&#xff0c;获取准确的下载数据一直是一个令人头疼的问题。你知道吗&#xff1f;无法精确追踪用户来源和下载量&#xff0c;就像是在黑暗中摸索&#xff0c;让推广效果大打折扣。今天&#xff0c;我们就来揭秘如何轻松获取App下载数据&#xff0c;优化你的推…