uni-app 94群聊列表分页(二)

简介: uni-app 94群聊列表分页(二)


group-list.vue

<template>
  <view class="page">
    <!-- 导航栏 -->
    <free-nav-bar title="群聊列表" showBack :showRight="false">
    </free-nav-bar>
    
    <free-list-item v-for="(item,index) in list" :key="index" :title="item.name" :cover="item.avatar || '/static/images/userpic.png'" @click="handle(item)">
    </free-list-item>
    <!-- 上拉加载 -->
    <view class="flex align-center justify-center py-4 bg-light" v-if="list.length >= 10">
      <text class="text-muted font">{{loadmore}}</text>
    </view>
  </view>
</template>
<script>
  import freeNavBar from '@/components/free-ui/free-nav-bar.vue';
  import freeListItem from '@/components/free-ui/free-list-item.vue';
  import $H from '@/common/free-lib/request.js';
  import auth from '@/common/mixin/auth.js';
  import { mapState } from 'vuex';
  export default {
    mixins:[auth],
    components: {
      freeNavBar,
      freeListItem
    },
    computed:{
      
    },
    data() {
      return {
        form:{
          friend_id:0,
          nickname:"",
          lookme:1,
          lookhim:1
        },
        list:[],
        id:0,
        page:1,
        loadmore:'上拉加载更多',// 没有更多了,加载中...
      }
    },
    // 监听下拉刷新
    onPullDownRefresh() {
      this.page = 1;
      this.loadmore = '上拉加载更多';
      $H.get('/group/'+this.page).then(res=>{
        this.list = res;
        uni.showToast({
          title:'刷新成功',
          icon:'none'
        });
        uni.stopPullDownRefresh();
      })
    },
    onLoad(e) {
      
    },
    // 监听触底事件
    onReachBottom() {
      if(this.loadmore !== '上拉加载更多'){
        return;
      }
      this.loadmore = '加载中...';
      this.page = this.page+1;
      $H.get('/group/'+this.page).then(res=>{
        this.list = [...this.list,...res];
        this.loadmore = this.list.length == this.page * 10 ? '上拉加载更多' : '没有更多了';
      }).catch(err=>{
        this.page = this.page - 1;
        this.loadmore = '上拉加载更多';
      })
    },
    onShow() {
      this.page = 1;
      this.loadmore = '上拉加载更多';
      this.$store.dispatch('getApply',this.page);
      $H.get('/group/'+this.page).then(res=>{
        console.log(res);
        this.list = res;
      })
    },
    methods: {
      handle(item){
        uni.navigateTo({
          url:'/pages/chat/chat/chat?params='+encodeURIComponent(JSON.stringify({
            id:item.id,
            name:item.name,
            avatar:item.avatar,
            chat_type:'group'
          }))
        })
      }
    }
  }
</script>
<style>
</style>

下图是我的测试截图

感谢观看,我们下次见

目录
相关文章
|
7月前
uni-app 172标签列表和标签用户列表
uni-app 172标签列表和标签用户列表
80 1
|
7月前
|
API
uni-app 146朋友圈列表api开发
uni-app 146朋友圈列表api开发
62 0
|
1月前
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
|
6月前
|
搜索推荐
App Inventor 2 列表排序,函数式编程轻松实现高级排序算法
本文探讨了列表的函数式编程高级用法,允许根据自定义逻辑进行排序。不仅支持基本数据类型(文本和数字)的升序和降序排序,还能处理复杂结构类型中特定元素的排序。通过示例展示了如何定义比较函数来实现升序和降序,简化了排序操作。
70 0
|
7月前
uni-app 93 群聊列表分页(一)
uni-app 93 群聊列表分页(一)
91 0
uni-app 93 群聊列表分页(一)
|
7月前
uni-app 162初始化会话列表功能
uni-app 162初始化会话列表功能
40 0
|
7月前
uni-app 149我的朋友圈分页列表实现
uni-app 149我的朋友圈分页列表实现
37 0
|
7月前
uni-app 148朋友圈列表分页功能实现
uni-app 148朋友圈列表分页功能实现
75 0
|
7月前
|
API
uni-app 147我的朋友圈列表api开发
uni-app 147我的朋友圈列表api开发
41 0
|
7月前
uni-app 128创建收藏和收藏列表
uni-app 128创建收藏和收藏列表
42 0

热门文章

最新文章