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

2024-09-05 00:12

本文主要是介绍echarts图表标题,层级,view表格,机型适配,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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;  
}

这篇关于echarts图表标题,层级,view表格,机型适配的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1137437

相关文章

Prompt - 将图片的表格转换成Markdown

Prompt - 将图片的表格转换成Markdown 0. 引言1. 提示词2. 原始版本 0. 引言 最近尝试将图片中的表格转换成Markdown格式,需要不断条件和优化提示词。记录一下调整好的提示词,以后在继续优化迭代。 1. 提示词 英文版本: You are an AI assistant tasked with extracting the content of

MVC(Model-View-Controller)和MVVM(Model-View-ViewModel)

1、MVC MVC(Model-View-Controller) 是一种常用的架构模式,用于分离应用程序的逻辑、数据和展示。它通过三个核心组件(模型、视图和控制器)将应用程序的业务逻辑与用户界面隔离,促进代码的可维护性、可扩展性和模块化。在 MVC 模式中,各组件可以与多种设计模式结合使用,以增强灵活性和可维护性。以下是 MVC 各组件与常见设计模式的关系和作用: 1. Model(模型)

vue2实践:el-table实现由用户自己控制行数的动态表格

需求 项目中需要提供一个动态表单,如图: 当我点击添加时,便添加一行;点击右边的删除时,便删除这一行。 至少要有一行数据,但是没有上限。 思路 这种每一行的数据固定,但是不定行数的,很容易想到使用el-table来实现,它可以循环读取:data所绑定的数组,来生成行数据,不同的是: 1、table里面的每一个cell,需要放置一个input来支持用户编辑。 2、最后一列放置两个b

安卓玩机工具------小米工具箱扩展工具 小米机型功能拓展

小米工具箱扩展版                     小米工具箱扩展版 iO_Box_Mi_Ext是由@晨钟酱开发的一款适用于小米(MIUI)、多亲(2、2Pro)、多看(多看电纸书)的多功能工具箱。该工具所有功能均可以免root实现,使用前,请打开开发者选项中的“USB调试”  功能特点 【小米工具箱】 1:冻结MIUI全家桶,隐藏状态栏图标,修改下拉通知栏图块数量;冻结

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD

关于使用cspreadsheet读写EXCEL表格数据的问题

前几天项目有读写EXCEL表格的需求,我就找了大概有几种,大致分为:COM方法、ODBC方法、OLE方法、纯底层格式分析方法。由于COM方法要求必须安装有OFFICE的EXCEL组件,纯底层格式分析方法又很多功能需要自行去完善,所有最终选择了数据库的方法,用数据库的方法去存取xls格式的数据。网上有一个高手写的CSpreedSheet,看了一下提供的接口,感觉挺好用的。在使用的过程中发现几个

Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.B

一个bug日志 FATAL EXCEPTION: main03-25 14:24:07.724: E/AndroidRuntime(4135): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.syyx.jingubang.ky/com.anguotech.android.activity.Init

自动化表格处理的革命:智能文档系统技术解析

在当今数据驱动的商业环境中,表格数据的自动化处理成为了企业提高效率、降低成本的关键。企业智能文档系统在智能表格识别方面展现出卓越的性能,通过精准识别和处理各种通用表格,显著提升了企业文档管理的智能化水平。本文将深入探讨该系统在表格识别方面的关键技术和应用优势,以及如何通过行业定制化服务满足不同行业的需求。 1. 通用表格识别 智能文档系统通过先进的OCR技术和表格结构识别算法,能够精准

自定义view中常用到哪些方法作用分别是什么

目录 构造函数onMeasure(int widthMeasureSpec, int heightMeasureSpec)onDraw(Canvas canvas)onLayout(boolean changed, int left, int top, int right, int bottom)onTouchEvent(MotionEvent event)onSizeChanged(int

鸿蒙开发5.0【Picker的受限权限适配方案】

Picker由系统独立进程实现,应用可以通过拉起Picker组件,用户在Picker上选择对应的资源(如图片、文档等),应用可以获取Picker返回的结果。 类型受限权限使用的picker音频ohos.permission.READ_AUDIO,ohos.permission.WRITE_AUDIOAudioViewPicker文件ohos.permission.READ_DOCUMENT,oh