微信小程序:关于下拉刷新PullDownRefresh
一、onPullDownRefresh回调
初略看了下文档,发现小程序js中有onPullDownRefresh回调,果断重写之...
1 2 3 4 5 6 |
<span class="hljs-comment">// http://itlao5.com</span> onPullDownRefresh: <span class="hljs-function"><span class="hljs-keyword">function</span> () </span>{ <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'onPullDownRefresh'</span>) <span class="hljs-keyword">this</span>.queryData(id) }, |
二、enablePullDownRefresh支持
然而,却发现不管怎么下拉,始终触发不了js回调。
只好继续看文档,发现,需要再json中配置支持下拉刷新,即:
1 |
1 2 3 |
<span class="hljs-string">"enablePullDownRefresh"</span>: <span class="hljs-literal">true</span> // 请注意是<span class="hljs-literal">true</span>,不是<span class="hljs-string">"true"</span>字符串, // 部分开发者发现设置了还是无效, // 可能是因为设置的<span class="hljs-string">"enablePullDownRefresh"</span>: <span class="hljs-string">"true"</span> |
1 |
这个可以在app.json中进行全局配置,使所有页面都带有下拉刷新功能;也可以在需要下拉刷新功能的page对应的json中配置。
这下好了,下拉刷新功能完成了。
三、backgroundTextStyle配置
但是,还有一点点不完美的地方,别人的小程序,下拉刷新时,可以看到顶部有三个点闪烁的动画;而我的小程序顶部一片空白。
原来,还有一个配置,"backgroundTextStyle": "",支持 dark/light;因为我的背景是白色的,此时,不进行这个配置,因为颜色的缘故,三个点闪烁的动画就看不到了,因此,白色背景需要进行以下配置:
1 2 |
<span class="hljs-string">"backgroundTextStyle"</span>: <span class="hljs-string">"dark"</span> |
四、stopPullDownRefresh停止
此外,微信小程序还提供了停止下拉刷新效果的api,如果发现进入刷新状态,无法停止,可以使用这个api
1 2 3 |
<span class="hljs-comment">// 小程序提供的api,通知页面停止下拉刷新效果</span> <span class="hljs-comment">// http://itlao5.com</span> wx.stopPullDownRefresh; |