zoukankan      html  css  js  c++  java
  • uni-app 使用 mescroll-nui 做加载刷新功能

    //首先  在官网 https://ext.dcloud.net.cn/plugin?id=343  下载 mescroll-nui 这个组件。

    //然后解压,有个目录为 mescroll-nui 的文件夹

    //在项目中新建一个文件夹名为:components ,这个文件夹专门用来放下载后的组件文件的,把mescroll-nui文件放到这里面即可

    <template>
    <view class="container">
    <!--这里是tab部分 -->
    <view class="header_tab">
    <view class="tab_detail" @tap="changeCurrentIndex(0)">
    <text :class="defaultIndex == 0 ? 'current':''">目录一</text>
    </view>
    <view class="tab_detail" @tap="changeCurrentIndex(1)">
    <text :class="defaultIndex == 1 ? 'current':''">目录二</text>
    </view>
    <view class="tab_detail" @tap="changeCurrentIndex(2)">
    <text :class="defaultIndex == 2 ? 'current':''">目录三</text>
    </view>
    </view>
    <!-- 这里是滚动部分 -->
    <mescroll-uni top="100" @down="downFun" @up="upFun" :up="upTips" class="message" >
    <view class="message_content" v-for="(item,index) in dataList" :key="index">
    <view class="message_content_left">
    <image class="img" src="" alt=""></image>
    </view>
    <view class="message_content_rght">
    <view class="username">username</view>
    </view>
    </view>
    </mescroll-uni>
    </view>
    </template>
    //css样式 是用的scss语法
    <style lang="scss">
    page{
    background-color:#f8f8f8;
    height:100%;
    }
    .container{
    height:100%;

    .header_tab{
    display:flex;
    background-color:#fff;
    padding-right:20rpx;
    margin-bottom:10rpx;
    z-index:999;
    justify-content:space-around;

    .tab_detail{
    font-size:28rpx;
    margin:20rpx 0;

    .current{
    padding:28rpx 12rpx;
    border-bottom:2px solid #00cf89;
    color:#00cf89;
    }
    }
    }
    .message{
    height:92%;

    .message_content{
    display:flex;
    flex-direction:row;
    margin:20rpx 20rpx 0;
    padding:24rpx 20rpx 24rpx 0;
    background-color:#fff;
    100%;

    .message_content_left{
    120rpx;
    .img{
    100%;
    height:120rpx;
    }
    }
    .message_content_rght{
    calc(100% - 120rpx);
    .username{
    font-size:26rpx;
    }
    }
    }
    }
    }
    </style>
    <script>
    //js 部分
    //先把 mescrolluni 文件引入到当前页面
    import MescrollUni from '@/components/mescroll-uni/mescroll-uni.vue';
    export default{
    components:{
    MescrollUni
    },
    data(){
    return{
    defaultIndex:0,
    isShowNoMore:false,
    upTips:{
    textNoMore:
    '我是有底线的',
    },
    dataList:[{
    nickname:'xxxx',
    gender:'1',
    age:'18',
    hobby:'reading',
    city:'chengdu'
    }]
    }
    },
        methods:{
    mescrollInit(mescroll){
    console.log(mescroll)
    },
    downFun(mescroll){
    setTimeout(()=>{
    mescroll.endErr()
    },1000)
    },
    upFun(mescroll){
    setTimeout(()=>{
    if(this.dataList.length<10){
    for(var i=0;i<5;i++){
    var obj = {
    nickname:'',
    gender:'',
    age:'',
    city:'chengdu',
    hobby:'listening'
    };
    this.dataList.push(obj);
    }
    this.isShowNoMore = false;
    mescroll.endUpScroll(this.isShowNoMore);
    }else{
    this.isShowNoMore = true;
    mescroll.endUpScroll(this.isShowNoMore);
    }
    },1000)
    },
    //点击切换tab
    changeCurrentIndex(index){
    this.defaultIndex = index;
    }
    }
    }
    </script>

     效果图如下:

     

    参考链接:https://blog.csdn.net/Xl4277/article/details/99833067

    关于mescroll参数详解见官网: http://www.mescroll.com/uni.html#options

  • 相关阅读:
    正则表达式语法
    flask 保存文件到 七牛云
    flask保存 文件到本地
    在文件保存中 os.getcwd() os.listdir() os.makedirs() os.mkdir() xx.join() ... 等函数 的使用介绍
    插件 DataTable 创建列表 render参数的详解与如何传递本行数据id
    日历插件bootstrap-datetimepicker的使用感悟
    Navicat for MySQL 安装和破解
    数据库迁移(创建关联等操作) Target database is not up to date报错
    dataTable之自定义按钮实现全表 复制 打印 导出 重载
    创建简单的表单Demo
  • 原文地址:https://www.cnblogs.com/sunnyeve/p/12588395.html
Copyright © 2011-2022 走看看