uniapp开发时可能会遇到的问题及解决方法,uniapp避坑指南!

目录

一、uni-app小程序中xxx代码依赖分析忽略

二、uni-app弹窗列表滚动, 弹框下面的内容也跟随滚动

三、uni-app小程序正常自定义组件不生效

四、uni-app  popup 弹出层底部空隙问题

五、 uni-app小程序自定义导航栏后iOS页面可上下滑动问题解决方案

六、uni-app中的分享二维码以及保存到相册

1.页面结构,因为是弹窗的形式所以选用了uni-popup

2. js部分 ——保存相册

3. 分享二维码

总结


一、uni-app小程序中xxx代码依赖分析忽略

新的任务发生了这个问题,一启动这个大红色看着十分碍眼,好在报错提示也给了解决办法,如下图所示

"ignoreDevUnusedFiles": false,
    "ignoreUploadUnusedFiles": false,

二、uni-app弹窗列表滚动, 弹框下面的内容也跟随滚动

弹窗组件代码,需要在最外层的view中加入 @touchmove.stop.prevent="moveHandle",就可以解决这个问题了

三、uni-app小程序正常自定义组件不生效

这是一个离奇的问题,正常自定义组件在页面引入,注册,使用,但是编译后居然没有显示出来而且也没有报其他的错误,这到底是为什么呢, 我也不知道…… 这个hbuilder 肯定不能逮着我一个人坑对不对,查了下,别人也遇到了这个问题,

总结下来有以下大致两种解决方法

1.每次引用新建组件,把编译器关闭后再重启

2.新建组件后,再新建一个页面,重新编译(亲测有效),新建的组件就生效了,就是那么离奇

如果有更好的方法,欢迎提出,再不想用上方这两个蠢蠢的办法了

四、uni-app  popup 弹出层底部空隙问题

如图所示,我遇到的问题是底部弹出层有一个间隙的问题,我看了下应该是样式问题, 是它自带了一个padding-bottom,于是我看了源码,这个问题就解决了

解决方法:

首先找到Popup的源码

因为设置的是底部弹出层,就着重看关于底部弹出的样式

五、 uni-app小程序自定义导航栏后iOS页面可上下滑动问题解决方案

提起这个我就想,真好啊,又是一个长知识的机会!!!(内心真实想法—把用apple的人的都抓起来) ,在安卓就好好的,偏偏它就会出问题,请看以下问题:

问题描述:
在开发小程序的过程中,自定义了导航栏,但是发现在ios中页面整体可上下移动,造成体验极差。

解决方案:

“disableScroll”:true,//ios禁止页面整体上下滑动


 {
    "path": "home/index",
    "style": {
     "navigationStyle": "custom",//关闭原生导航栏
     "disableScroll":true,//ios禁止页面整体上下滑动
   }
 },

问题描述:

如下图所示:在安卓真机和开发着工具中都是正常,但是到了大苹果(我不用大苹果我还不知道它还能左滑滑右滑滑~~~)

这是一个样式问题,所以我们看下原本的页面样式代码;

解决方案:

当时我不知道这个问题是怎么回事,后来请教了同事后仔细想想其实这个问题也很好解决,

起初设置的宽度是100%,但是下方又设置了padding内边距, 而盒子宽度默认的计算方式是content-box,下图有详细解释

所以在对应的html页面结构中的父元素中,给它的样式加上这样一句,就可以解决了

六、uni-app中的分享二维码以及保存到相册

这个应该不算是一个难点,这是因为我之前没有做过,觉得很新鲜,所以分享在这里,要实现的功能呢长这个样子,以弹窗的形式出现用户可以选择转发给好友或者是保存相册后从相册转发

1.页面结构,因为是弹窗的形式所以选用了uni-popup

<uni-popup ref="popup" animation mask-background-color="rgba(0,0,0,0.2)" @change="popChange">
			<view class="popup-container">
				<view class="inner">
					<view class="item" @click="sharePictrue">
						<text class="iconfont icon-fenxiangxiaochengxu" style="margin-right: 40rpx;"></text>
						<text class="text btn">转发给好友</text>
						<!-- <button size="mini" id="sharePictrue" style="border:none;" plain open-type="share" class="text btn">转发给好友</button> -->
						<text class="iconfont icon-xiangyou1" style="float:right"></text>
					</view>
					<view class="underline"></view>
					<view class="item" @click="saveToAlbum">
						<text class="iconfont icon-xiangcexuanze" style="margin-right: 40rpx;"></text>
						<text class="text">保存相册</text>
						<!-- <text class="iconfont icon-xiangyou1" style="float:right"></text> -->
					</view>
					<view class="underline"></view>
					<view class="cancel" @click="close">取消</view>
				</view>
			</view>
		</uni-popup>

2. js部分 ——保存相册


保存相册的前提是你有这个图片,(那之前肯定是要获取这个图片,例如通过调用接口获取图片)

uni.getFileSystemManager().writeFile   写文件

详解地址FileSystemManager.writeFile(Object object) | 微信开放文档

uni.saveImageToPhotosAlbum   保存图片到系统相册

3. 分享二维码

wx.showShareImageMenu()

sharePictrue() {
				wx.showShareImageMenu({
					path: '../../static/ph_fit_qrcode.png' ||
						this.qrsrc
				})
			},

总结

以上呢,就是我今天要分享的内容,希望可以帮助到屏幕前的你,喜欢还请 收藏+关注 哦~

🚀 个人简介:6年开发经验,现任职某国企前端负责人,分享前端相关技术与工作常见问题~
💟 作    者:前端菜鸟的自我修养❣️
📝 专    栏:前端常见问题汇总
🌈 若有帮助,还请关注➕点赞➕收藏,不行的话我再努努力💪💪💪

更多专栏订阅推荐:

📝 vue从基础到起飞

👍 前端工程搭建
💕 JavaScript深入研究

  • 64
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 80
    评论
uniapp开发微信小程序可能遇到一些兼容性问题,主要包括以下几个方面: 1. 样式兼容性问题:由于微信小程序使用的是webview渲染页面,因此在样式方面可能存在一些兼容性问题,如某些CSS属性在微信小程序中不支持或支持程度不同。解决方法是尽量使用微信小程序支持的CSS属性和样式,避免使用不支持的属性。 2. API兼容性问题微信小程序提供了一套API供开发者使用,但是在不同版本的微信客户端中可能存在API支持程度不同的问题,因此需要根据不同的版本进行兼容性处理。解决方法是使用微信小程序提供的版本检测API,判断当前微信客户端的版本号,针对不同版本进行兼容性处理。 3. 组件兼容性问题uniapp中提供了一些跨平台的组件,但是在微信小程序可能存在一些兼容性问题,如某些组件在微信小程序中不支持或支持程度不同。解决方法是尽量使用微信小程序支持的组件和功能,避免使用不支持的组件。 4. 性能兼容性问题:由于微信小程序的性能限制,一些复杂的操作和功能可能影响页面性能和加载速度。解决方法是尽量减少页面的复杂度,避免使用过多的动画和效果,优化代码和图片资源,提高页面加载速度和性能。 总之,uniapp开发微信小程序需要注意兼容性问题,尽量使用微信小程序支持的功能和组件,避免使用不支持的属性和功能,提高页面性能和加载速度。同,可以使用uniapp提供的工具和API进行版本检测和兼容性处理,以确保小程序在不同版本的微信客户端中正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 80
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值