關(guān)于上下拉刷新
微信小程序官方建議使用page的上下拉刷新哮塞,那么什么時(shí)候會(huì)觸發(fā)上下拉刷新呢
page頁(yè)面上下拉刷新
- 下拉
通過(guò)向下滑動(dòng)頁(yè)面即可觸發(fā)page頁(yè)面的onPullDownRefresh方法
- 上滑
上滑的觸發(fā)分兩種情況
- 內(nèi)容不能充滿page
- 此時(shí)你第一次上拉會(huì)觸發(fā)一次onReachBottom
- 解析:
- 微信這么做的原因是可以讓我們?cè)谶@里進(jìn)行一次處理提醒用戶
- 再次上拉不會(huì)觸發(fā)
- 此時(shí)你第一次上拉會(huì)觸發(fā)一次onReachBottom
- 內(nèi)容充滿page
- 通過(guò)上滑即可觸發(fā)page頁(yè)面的onReachBottom方法
scrollview上下拉刷新
scrollview的上下拉刷新是通過(guò)方法bindscrolltoupper與bindscrolltolower决摧,更過(guò)相關(guān)的細(xì)節(jié)請(qǐng)參考微信小程序scrollview組件
注:scrollview的上下拉刷新并沒(méi)有頁(yè)面下拉滑動(dòng)長(zhǎng)條那種顯示赌厅,只是單純的觸發(fā)籍铁,如果你想有那種效果需要自己去實(shí)現(xiàn)(基于onScroll方法)
想必這也是微信小程序建議使用page刷新的原因
頁(yè)面左右滑動(dòng)
當(dāng)然可以使用手勢(shì)進(jìn)行手勢(shì)滑動(dòng)盖淡,單如果你知道有個(gè)神奇的組件叫做swiper我想你會(huì)考慮使用swiper而不是自己去touch
swiper組件的使用請(qǐng)參考微信小程序swiper組件
tab下面的每個(gè)頁(yè)面的滑動(dòng)不一樣問(wèn)題
如果此時(shí)耻煤,你滑動(dòng)你會(huì)發(fā)現(xiàn)每個(gè)tab下的頁(yè)面上下滑動(dòng)都會(huì)一起滑動(dòng)昼伴,為了保證每個(gè)tab下的內(nèi)容自己滑動(dòng)啦桌,此時(shí)考慮使用scrollview進(jìn)行封裝
哎呀page的onReachBottom失效了
這個(gè)時(shí)候你上拉你會(huì)發(fā)現(xiàn)不會(huì)再觸發(fā)onReachBottom方法溯壶,這個(gè)原因就在于前面所說(shuō)的scrollview的滑動(dòng)與page會(huì)沖突,那么此時(shí)就需要觸發(fā)onReachBottom方法觸發(fā)的內(nèi)容甫男,與之相關(guān)的是scrollview的bindscrolltolower方法且改,重寫這個(gè)方法,并將onReachBottom方法內(nèi)容提出單獨(dú)分裝板驳,一起調(diào)用即可
哎呀又跛,有的頁(yè)面可以在內(nèi)容頁(yè)下拉刷新有的不可以
這點(diǎn)的方案目前暫未實(shí)現(xiàn),如果路過(guò)的大佬們有解決方案請(qǐng)留言提出或者聯(lián)系我若治,發(fā)到我的郵箱慨蓝,小弟在此謝過(guò)
為何會(huì)有這樣的原因呢?
還是scrollview的滑動(dòng)與page沖突問(wèn)題端幼,如果你仔細(xì)閱讀scrollview的文檔你會(huì)發(fā)現(xiàn)scrollview的滑動(dòng)會(huì)屏蔽page的onPullDownRefresh方法礼烈,此時(shí)需要我們從頂部下拉接口。那么為何有的頁(yè)面可以下拉呢婆跑,這是因?yàn)閟crollview的內(nèi)容不足填充整個(gè)頁(yè)面此熬,此時(shí)它不與page沖突可以下拉。
總結(jié)
微信小程序在實(shí)踐上不必原生洽蛀、RN還是有很多限制摹迷,由于其屬于輕量級(jí)的開(kāi)發(fā)工具還是很方便,畢竟人家定位就是小程序~