我的编程空间,编程开发者的网络收藏夹
学习永远不晚

微信小程序使用ucharts在小程序中加入横屏展示功能的全过程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

微信小程序使用ucharts在小程序中加入横屏展示功能的全过程

前言

由于手机屏幕宽度的限制,当数据量较大时,观看体验并不是很好,因此横屏展示的功能就显得必要了,还好ucharts官方提供了横屏展示的功能,可以免去自己手改的麻烦,不过在实现的时候还是需要注意一些地方。

本文只贴出了部分关键实现代码而非全部代码,仅提供思路和实现参考。

实现思路

开启横屏显示的配置如下:

opts: {
  rotate: true,
}

现在只需要在页面中提供一个按钮作为入口,动态改变opts.rotate的值,然后提供一个用来横屏展示的容器就可以了。

实现步骤

1. 添加一个按钮用来开启横屏模式

用一个iconfont图标作为一个按钮显示:

<view class="rotate-mode-btn iconfont icon-a-appenlarge" @click="rotateMode"></view>

设置一下按钮的样式,放在一个合适的位置:

.icon-a-appenlarge {
	position: absolute;
	right: -20rpx;
	bottom: 200rpx;
	background: transparent;
	color: #a7c2fa;
}

2. 准备一个容器

准备的容器应该覆盖在其它所有组件(除了顶部导航)之上,可以自己写一个容器,或者使用第三方组件达成目的。

在这里我使用了uView组件库的遮罩层作为容器:uView-Vue3.0版

最后,为了能够退出横屏模式,在横屏状态下的右上角添加一个退出按钮。

代码如下:

<u-mask :show="isShowRotate">
	<view :class="maskClass">
	<view class="iconfont icon-close" @click="closeRotateMode"></view>
</u-mask>

关键代码释义

:show="isShowRotate"是显示和隐藏遮罩层的属性。通过第一步中绑定的方法rotateMode实现,代码如下:

// 开启横屏模式
rotateMode() {
	this.isShowRotate = true
	// 隐藏底部导航
	uni.hideTabBar()	
},

@click="closeRotateMode"用来关闭遮罩层,并将数据清空,显示底部导航栏:

closeRotateMode() {
	this.isShowRotate = false
	this.chartsData_rotate = {}
	uni.showTabBar()
}

<view :class="maskClass">":maskClass是一个计算属性,用来显示/隐藏容器,相关scss如下,仅供参考。

.mask-wrapper {
	width: 95%;
	height: 0;
	position: absolute;
	left: 8px;
	bottom: 20px;

	&.show {
		height: calc(100% - 120px);
	}
}

结果如下:

横屏模式容器

3.将图表放入容器中

<view class="tabel-charts-rotate">
	<u-mask :show="isShowRotate">
		<view :class="maskClass">
			<qiun-data-charts :type="chartsShowType" :chartData="chartsData_rotate" :opts="opts_rotate"
				:ontouch="true" :onzoom="true" :canvas2d="Boolean($config.data.canvas2d)"
				:canvasId="canvasId_rotate" tooltipFormat="formatTooltipData" :reshow="isShowRotate"
				:inScrollView="true" />
		</view>
		<view class="iconfont icon-close" @click="closeRotateMode"></view>
	</u-mask>
</view>
rotateMode() {
	this.isShowRotate = true
	// 设置1s延时,避免渲染出错
	setTimeout(() => {
		this.chartsData_rotate = JSON.parse(JSON.stringify(this.chartsData))
	}, 1000)
	// 隐藏底部导航
	uni.hideTabBar()
},

关键代码释义

this.chartsData_rotate = JSON.parse(JSON.stringify(this.chartsData))这段代码是用来深拷贝原图表数据的,因为如果横屏的图表使用和原来的图表同样的数据的话,会和原图表数据互相干扰。

<qiun-data-charts>是ucharts组件,其中的属性由自己的需求决定,这里进行部分说明。

:type="chartsShowType":动态改变图表类型。

tooltipFormat="formatTooltipData":提示框格式化方法。

:inScrollView="true":图表组件外部包裹了一个<scroll-view>组件,需要将该属性设为true,否则会出现提示框定位问题。

:reshow="isShowRotate":触发图表重绘。

最终效果如下:

最终效果

总结 

到此这篇关于微信小程序使用ucharts在小程序中加入横屏展示功能的全过程的文章就介绍到这了,更多相关ucharts在小程序加入横屏展示内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

微信小程序使用ucharts在小程序中加入横屏展示功能的全过程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用PHP在微信小程序中实现AI功能?

如何使用PHP在微信小程序中实现AI功能?随着人工智能的发展,AI(Artificial Intelligence,人工智能)技术被广泛应用于各个领域。微信小程序作为一种强大的移动应用开发平台,也可以集成AI功能,为用户提供更智能的服务。本
如何使用PHP在微信小程序中实现AI功能?
2023-10-28

如何使用PHP开发微信小程序的在线课程功能?

如何使用PHP开发微信小程序的在线课程功能?随着移动互联网的快速发展,微信小程序正逐渐成为企业和个人开展业务的利器。在教育行业中,使用微信小程序开发在线课程功能已经成为了一个热门的需求。本文将介绍如何使用PHP来开发微信小程序的在线课程功能
2023-10-27

如何在微信小程序中使用PHP开发社交功能?

如何在微信小程序中使用PHP开发社交功能?微信小程序作为一种新兴的应用开发平台,为用户提供了丰富的社交功能。结合PHP语言的强大处理能力,我们可以实现各种社交功能,例如朋友圈、私信、点赞等功能。下面将以微信小程序中的朋友圈为例,详细介绍如何
2023-10-26

如何使用PHP开发微信小程序的任务导入功能?

如何使用PHP开发微信小程序的任务导入功能?随着微信小程序的普及,越来越多的开发者开始尝试在小程序中实现各种功能。其中,任务导入功能是许多小程序开发者感兴趣的一个功能,因为任务导入功能可以让用户方便地将任务列表导入到小程序中进行管理。在本文
2023-10-26

如何使用PHP实现微信小程序的在线考试功能?

如何使用PHP实现微信小程序的在线考试功能?随着微信小程序的迅速发展,越来越多的开发者开始关注如何使用PHP来实现微信小程序的功能。其中,在线考试功能是很多教育培训机构或企业所关注的一个重点。本文将介绍如何使用PHP来实现微信小程序的在线考
2023-10-26

如何使用PHP开发微信小程序的在线教育功能?

如何使用PHP开发微信小程序的在线教育功能?随着移动互联网的发展,微信小程序越来越受欢迎。作为一种轻量级的应用程序,微信小程序在市场上具有广阔的发展前景。尤其是随着在线教育的兴起,越来越多的人开始通过微信小程序来实现在线学习。那么,在这个快
2023-10-27

如何使用PHP开发微信小程序的在线问卷功能?

如何使用PHP开发微信小程序的在线问卷功能?微信小程序是一种非常流行的移动应用程序,许多企业和个人都使用它来开发自己的应用。其中一个常用的功能就是在线问卷。在本文中,我将详细介绍如何使用PHP开发微信小程序的在线问卷功能,并提供一些具体的代
2023-10-27

如何使用PHP开发微信小程序的在线答题功能?

如何使用PHP开发微信小程序的在线答题功能?随着微信小程序的快速发展,越来越多的开发者开始关注如何在微信小程序中实现各种功能。其中,在线答题功能是一个非常常见且受欢迎的功能之一。本文将以PHP为基础,介绍如何使用PHP开发微信小程序的在线答
2023-10-27

如何使用PHP实现微信小程序的在线测评功能?

如何使用PHP实现微信小程序的在线测评功能?微信小程序已成为许多企业和开发者推广产品和服务的首选平台之一。其中,实现在线测评功能是小程序中常见的需求之一。本文将为大家介绍如何使用PHP编写后端代码,实现微信小程序中的在线测评功能,并提供具体
2023-10-27

如何使用PHP实现微信小程序的在线投票功能?

如何使用PHP实现微信小程序的在线投票功能?随着微信小程序的普及,越来越多的企业和个人选择在微信小程序中开展各类活动,其中包括在线投票功能。本文将介绍如何使用PHP语言来实现微信小程序的在线投票功能,并提供具体的代码示例。在开始之前,我们需
2023-10-27

如何使用PHP开发微信小程序的在线讨论功能?

如何使用PHP开发微信小程序的在线讨论功能?随着微信小程序的普及,越来越多的开发者开始关注如何在小程序中添加在线讨论功能。本文将介绍如何使用PHP开发微信小程序的在线讨论功能,并提供具体的代码示例。一、准备工作在开始之前,我们需要准备以下工
2023-10-26

微信小程序在{{ }}中直接使用函数的示例分析

这篇文章主要介绍了微信小程序在{{ }}中直接使用函数的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言在微信小程序开发中(原生wxml、wxcss),想直接在{{
2023-06-20

ECharts的三维可视化及在微信小程序中使用示例

这篇文章主要为大家介绍了ECharts的三维可视化及在微信小程序中使用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-12-23

微信小程序中引入并使用自带和外部图标的示例分析

这篇文章主要介绍微信小程序中引入并使用自带和外部图标的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!自带图标
2023-06-15

uniApp微信小程序使用腾讯地图定位功能及getLocation需要在app.json中声明permission字段问题解决

这篇文章主要介绍了uniApp微信小程序使用腾讯地图定位功能及getLocation需要在app.json中声明permission字段问题解决,需要的朋友可以参考下
2022-12-24

编程热搜

目录