比如说我现在从购物车里删除了一件商品,我们要让用户看到删除的商品不见了,册迅笑这个时候就要刷新数据。
我看到网上有人说重新调用onLoad()或者onShow()方法,那是页面加载时会执行的方法,调用这两个函数也确实会刷新页面,但这是没必要的,甚至因为州含要重新加载整个页面会变得卡慢,我试过。
直接给需要修改的数据赋予新的值,这部分数据就被刷新了,不需要刷新整个页面。
就还说上面在购物车删除商品的例子,点击删除按钮后,可以用this.setData({}),只将购物车这部分的数昌高据刷新。
onLoad 生命周期回调—监听页面加载
onShow 生命周期回调—监听页面显示
onReady 生命周期回调—监听页面初次渲染完成
onHide 生命周期回调—监听页面隐藏
onUnload 生命周期回调—监听页面卸载
1.执行某方法后数据刷新与重新加载
可直接调用 onLoad , onShow , onReady 方法
this.onLoad(),this.onShow(),this.onReady()
方法执行后会重新调用对应的执行方法,里面的数隐裂据会重新渲染执行
2.页面回退或隐藏显示后
当进入新的页面比如:添加,修改困敏等,再返回当前页面重新渲染数据。
可直接将获取数据的方法写在onShow()中,当页面重新显示后就汪携枝会再次运行onShow()中的方法
在小程序内存在列表等形式的页面内增加下拉刷新功能,提高用户体验感,加强界面 *** 作与交互性;
<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模块可下拉,但是滚动区域无法滚动搜毕,且下拉动画只显示一次。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)