当前位置:   article > 正文

uniapp scroll-view用法[下拉刷新,触底事件等等...](4)_uniapp scroll-view 下拉刷新

uniapp scroll-view 下拉刷新

前言:可滚动视图区域。用于区域滚动

话不多说 直接上官网属性  官网示例

 讲一下常用的几个

@scroll  滚动时触发

 @scrolltoupper 滚动到顶部或左边,会触发 scrolltoupper 事件

@scrolltolower   滚动到底部或右边,会触发 scrolltolower 事件

1.纵向滚动

设置scroll-y="true"  开启纵向滚动功能

  1. <view>
  2. <scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y"
  3. @scrolltoupper="upper" @scrolltolower="lower" @scroll="scroll">
  4. <view id="demo1" class="scroll-view-item uni-bg-red">A</view>
  5. <view id="demo2" class="scroll-view-item uni-bg-green">B</view>
  6. <view id="demo3" class="scroll-view-item uni-bg-blue">C</view>
  7. </scroll-view>
  8. </view>

2.横向滚动

设置scroll-x="true"  开启横向滚动功能

  1. <view>
  2. <scroll-view :scroll-top="scrollTop" scroll-x="true" class="scroll-Y"
  3. @scrolltoupper="upper" @scrolltolower="lower" @scroll="scroll">
  4. <view id="demo1" class="scroll-view-item uni-bg-red">A</view>
  5. <view id="demo2" class="scroll-view-item uni-bg-green">B</view>
  6. <view id="demo3" class="scroll-view-item uni-bg-blue">C</view>
  7. </scroll-view>
  8. </view>

   注意:scroll-view本身的display:flex不生效、如果想实现display:flex功能,则可以给scroll-view加上white-space: nowrap,给内容容器加上display:inline-block 

3.触底事件

@scrolltolower 滚动到底部或右边,会触发 scrolltolower 事件

  1. <template>
  2. <view>
  3. <scroll-view scroll-y="true" style="height: 500rpx;" @scrolltolower="onReachScollBottom">
  4. </scroll-view>
  5. </view>
  6. </template>
  7. <script>
  8. export default {
  9. data() {
  10. return {
  11. }
  12. },
  13. methods: {
  14. onReachScollBottom(){
  15. uni.showToast({
  16. title:"触发了触底事件",
  17. duration:1500,
  18. icon:"none"
  19. })
  20. }
  21. }
  22. }
  23. </script>
  24. <style>
  25. </style>

4.下拉刷新

refresher-enabled = "true" 开启自定义下拉刷新

refresher-triggered ="true"  设置当前下拉刷新状态,true 表示下拉刷新已经被触发,false 表示下                                        拉刷新未被触发

@refresherrefresh 自定义下拉刷新被触发

  1. <template>
  2. <view>
  3. <scroll-view scroll-y="true" style="height: 500rpx;" refresher-enabled="true" :refresher-triggered="refresh" @refresherrefresh="onRefresh">
  4. </scroll-view>
  5. </view>
  6. </template>
  7. <script>
  8. export default {
  9. data() {
  10. return {
  11. colorList:["blue","red","yellow"],
  12. refresh: false
  13. }
  14. },
  15. methods: {
  16. onRefresh() {
  17. this.refresh= true;
  18. uni.showToast({
  19. title:"触发了下拉刷新",
  20. duration:1500,
  21. icon:"none"
  22. })
  23. // 这里不能直接让refresh直接为false,否则可能会发生下拉加载无法复位的情况
  24. setTimeout(() => {
  25. this.refresh = false;
  26. }, 500)
  27. }
  28. }
  29. }
  30. </script>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/517237
推荐阅读
相关标签
  

闽ICP备14008679号