当前位置:   article > 正文

uniapp列表滑动操作(删除、编辑)

uniapp列表滑动操作(删除、编辑)

本篇文章结合了下拉刷新、上拉加载,以及每一条列表的左滑删除,这里的header和footer盒子样式我就不写了,光写了main。是上中下布局,中间是内容,废话不说了,直接上代码!

  1. <template>
  2. <view class="wrap">
  3. <view class="header">
  4. ....
  5. </view>
  6. <view class="main">
  7. <scroll-view scroll-y class="scrollbox" @scrolltolower="lower" refresher-enabled="true"
  8. :refresher-triggered="trigger" @refresherrefresh="refresherrefresh" show-scrollbar="false">
  9. <uni-swipe-action>
  10. <uni-swipe-action-item
  11. v-for="(item, index) in 20"
  12. :right-options="options"
  13. @change="swipeChange($event, index)"
  14. @click="swipeClick($event, index)"
  15. >
  16. <text style="line-height: 40px;display: block;margin: 0 0 10px 0; background-color: aqua;">{{index}}</text>
  17. </uni-swipe-action-item>
  18. </uni-swipe-action>
  19. <!-- 加载更多 -->
  20. <view>
  21. <view class="loading-text" v-if="loadingFlag == 1">数据加载中...</view>
  22. <view class="loading-text" v-if="loadingFlag == 2">没有更多的数据...</view>
  23. </view>
  24. </scroll-view>
  25. </view>
  26. <view class="footer">
  27. ....
  28. </view>
  29. </view>
  30. </template>
  31. <script>
  32. export default {
  33. data () {
  34. return {
  35. // 上拉刷新、下拉加载
  36. trigger: false,
  37. loadingFlag: 1,
  38. // 左滑删除
  39. options: [{
  40. text: '取消',
  41. style: {
  42. backgroundColor: '#007aff'
  43. }
  44. }, {
  45. text: '确认',
  46. style: {
  47. backgroundColor: '#dd524d'
  48. }
  49. }]
  50. }
  51. },
  52. methods: {
  53. // 上拉加载
  54. lower () {
  55. console.log('触底加载11')
  56. },
  57. // 下拉刷新
  58. refresherrefresh () {
  59. const _that = this
  60. this.trigger = true
  61. setTimeout(() => {
  62. _that.trigger = false
  63. }, 3000)
  64. },
  65. // 左滑删除
  66. swipeClick (e) {
  67. console.log('点击了' + (e.position === 'left' ? '左侧' : '右侧') + e.content.text + '按钮')
  68. },
  69. swipeChange (e, index) {
  70. console.log('当前状态:' + e + ',下标:' + index)
  71. }
  72. }
  73. }
  74. </script>
  75. <style lang="scss" scoped>
  76. .wrap {
  77. width: 100vw;
  78. height: 100vh;
  79. .header {
  80. // 这里的样式我就不写了
  81. }
  82. .main {
  83. width: 100%;
  84. height: calc(100vh - 50px - 50px);
  85. background-color: pink;
  86. overflow: auto;
  87. // 这个是scroll-view的盒子样式,必须要有,要不然不会触发 触底滚动事件
  88. .scrollbox {
  89. width: 100%;
  90. height: 100%;
  91. }
  92. // 加载更多
  93. .loading-text {
  94. font-size: $uni-size-loading-text;
  95. text-align: center;
  96. line-height: 30px;
  97. background-color: yellow;
  98. }
  99. // 左滑删除
  100. .uni-swipe {
  101. height: 40px !important;
  102. margin: 10px 0;
  103. .uni-swipe_box {
  104. height: 100%;
  105. }
  106. }
  107. }
  108. .main {
  109. // 这里的样式我就不写了
  110. }
  111. }
  112. </style>

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

闽ICP备14008679号