12.小程序 之切换到tabBar页面不刷新问题

12.小程序 之切换到tabBar页面不刷新问题,第1张

wx.switchTab:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

wx.reLaunch:关闭所有页面,打开到应用内的某个页面。

wx.reLaunch是可以跳斗伍雀转到tabBar页面的。它和wx.switchTab的区别就是:前者空早可以触发onLoad事件,而后者则不能触发。所以通过wx.reLaunch跳转到tabBar的方式完美解决了不能刷新的问题。

在小程序项目中 我发现 wx.switchTab 跳转是触发onLoad事件  但是只会触发一次 如果我通过退出登录 是不会再次触发onLoad事件 的 而wx.reLaunch是可以跳转到tabBar页面橘余的 再次触发onLoad事件

在小程序内存在列表等形式的页面内增加下拉刷新功能,提高用户体验感,加强界面 *** 作与交互性;

<a name="gXpSi"></a>

1、小程序提供的下拉刷新(无法自定义刷新动画)

可能遇到的问题:

1)下拉时没有出现刷新的点点动画

可能是因为设置的页面背景色与点点动画一致导致无法看到动画,可以在页面配置中配置背景文字颜色:

2、scroll-view内refresher-enabled属性开启自定义刷新

基本库要求:2.10.1

官方文档: scroll-view

3、原始scroll-view自定义下拉实现(为兼容2.10.1一下的下拉刷新

通过监听手指移动距离控制需要下拉模块的下拉距离,主要事件bindtouchstart,bindtouchmove和bindtouchend,bindtouchmove记录手指开始下拉时的起始位置,bindtouchmove计算下拉距离,bindtouchend判断并实现刷新方法。

我的自定义下拉组件(Taro框架)

<a name="fEutw"></a>

1、与ios上橡皮筋效果冲突导致下拉无法触发自定义刷新

页面配置 disabledScroll ,禁止页面滚动,同时页面内的列表滚动需要自己再优化调整;

2、scroll-view的scroll问题

需要设定固定高度然后纵向滚动。[我都忘了是啥问题了……

3、页面下拉刷新结束后再滑动列表出现闪屏

在禁止页面橡皮筋效果后,如果页面内存在需滚动区域使用scroll-view效果比view更加流畅;

不设定固定高度轿饥不会发生闪屏但是页面滚动非常不流畅;

4、使用官方提供的scroll-view自定义的动画时,当scroll-view内容不足充满一屏时下拉出现问题

将scroll-view设置固定高度后,将其子元素的高度设置多一像素达到隐形撑满的效果。

5、scroll-view内fixed元素问题

ios内scroll-view内fixed元素层级会出现问题,可能出现被遮挡的问题。

6、当页面内局部需要下拉刷新时可能导致内外两个滚动条问题闭漏返

一个是页面滚动条一个是scroll-view滚动条,由于 *** 作的时候触发的是scroll-view部分的滚动导致页面滚动无法进行从而影响页面其他 *** 作。

Q5和Q6可以合并成一个问题,当页面需要一个吸顶 *** 作时,即滑动距离超过阈值时导航条吸顶的功能,若scroll-view将整个页面包含就会出现Q5的问题,可能导致在ios内吸顶的导航栏无法显示,若scroll-view只包含需要刷新的部分则会出现Q6的两个滚动条的问题。

1)在页面未触发吸顶时禁止scroll-view模块下拉,触发后放开滚动,同时会导致无法下拉。

2)页面滚动触发,scroll-view模块可下拉,但是滚动区域无法滚动搜毕,且下拉动画只显示一次。

1、域名必须是HTTPS

非HTTPS的域名不被微信小程序允许。

2、input组件placeholder字体颜色

写在placeholder-class里面的color并不生效,需要写在placeholder-style里面就可以了。

3、wx.navigateTo无法跳转到带tabbar的页面

带有tabbar的激顷做页面,必须使用wx.switchTab进行跳转。

4、乎岁tabbar在切换时页面数据无法刷新

tabbar的实现可能是显示和隐藏view,所以,不会一直调用page.onLoad()方法,可以尝试把代码逻辑写在page.onShow()里面。

5、如何获取shareTickets

获取shareTickets需要在app.onLaunch或者app.onShow里面才能获取到,而不是page.onShow,请一定要注意。

注:建议在app.onShow里面去获取,app.onLaunch不是一直会执行。

6、getPhoneNumber获取手机号

目前该接口针对非个人开发者,且完成了认证的小程序开放。个人开发者是没办法调用这个API的。

7、wx.previewImage图片预览

预览的图片URL必须是HTTPS开头,不能是本地图片。

8、wx.playVoice音频播放

必须保证音频文件已经在本地,比如在wx.startRecord后,可以获取到filePath。或者提前调用wx.downloadFile来下载资源文件,然后再播放。

9、API老版本兼容

可以用wx.canIUse或者wx.getSystemInfoSync来进行明衡判断,老版本给出相应提示即可。

10、获取系统信息

wx.getSystemInfo,可得到系统语言、屏幕宽高、微信版本号、 *** 作系统、设备像素比、客户端甚础库版本等信息。

11、如何去掉自定义button灰色的圆角边框

主要是button的伪元素设置了样式,去掉即可: button::after{ display: none}。

12、回到页面顶部

回到页面顶部,有两种方式:

A、使用scroll-view设置为纵向滚动,然后设置scroll-top值;

B、使用wx.pageScrollTo方法,此方法是1.4.0开始支持,所以要做低版本兼容;

13、input textarea是APP的原生组件,z-index层级最高

有做过搜索框的同学,可能会遇到IOS下面,设置icon的z-index后,依然无法显示。建议做显示隐藏效果:点击之前是一个view,点击之后隐藏view,显示input~。

14、小程序如何冷启动

小程序的机制,是在退出五分钟内进入,就会显示的是退出前的页面,如果你希望进入小程序都相当于冷启动的方式,直接进入主页面。你可以在page的onUnload里面里面set一个值,然后在app的onShow的时候判断这个值,然后决定是否跳到首页~

15、一段文字如何换行

小程序中唯一可以实现换行的标签组件是text。

注:text中不支持<br>,只能使用\n进行换行。

16、设置最外层标签的margin-bottom在IOS下不生效

margin-bottom在安卓和开发工具里面都正常,就是在IOS下不起效,建议改成padding-bottom。

17、小程序中canvas的图片不支持base64格式

base64格式图片,在开发工具里面可以正常显示,真机上没有显示。建议修改成带https开头的url形式。

二,可以直接在第三方平台上面开发小程序


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12365809.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存