Mint UI 之loadmore组件的坑:内部元素头部被遮挡了一部分

前端经常会遇到数据分页加载的需求,mint-ui组件为大家提供了loadmore组件

但是我在使用的时候,遇到了一个问题:写好布局和样式以及逻辑之后,我的mt-loadmore标签的头部总是不顶在父元素content的顶部,给了padding也不管用;看了下mint-loadmore-top样式有.mint-loadmore-top { margin-top: -50px; }但这个不能改,改了后下拉显示更多...就会一直显示.

网上看到说添加:auto-fill:"false"结果还是一样的.但是发现了内容被隐藏的原因: 在页面首次加载的时候,在自己的请求代码中执行了that.$refs.loadmore.onBottomLoaded()在内容填充后, 让标签上移50px,导致了顶部被遮住

mintloadmore 部分源码:

onBottomLoaded: function onBottomLoaded() {
      var this$1 = this;

      this.bottomStatus = 'pull';
      this.bottomDropped = false;
      this.$nextTick(function () {
        if (this$1.scrollEventTarget === window) {
          document.body.scrollTop += 50;
        } else {
          this$1.scrollEventTarget.scrollTop += 50;
        }
        this$1.translate = 0;
      });
      if (!this.bottomAllLoaded && !this.containerFilled) {
        this.fillContainer();
      }
    }

知道了问题产生的原因是: 在初始化的时候执行了that.$refs.loadmore.onBottomLoaded(),name解决的办法就是在上拉或者下拉的时候给请求列表函数传入一个flag,只有在这时候,才执行;而在初始化的时候,不传参数,不执行.

    created() {
      token = localGet('token');
      showListNum = localGet('showListNum');
      this.getList(); // 这里不传参数
    },
    methods: {
        getList(drop) {
            axios(...)
            .then(() => {
                if(drop){
                  that.$refs.loadmore.onTopLoaded();
                  that.$refs.loadmore.onBottomLoaded();
                }
                currentpageindex++;
            })
        },
        loadtop(){
            currentpageindex = 1;
            this.getList('drop'); // 这里传入布尔值为true的任何值
        },
        loadbottom(){
            this.getList('drop'); // 这里传入布尔值为true的任何值
        }
    }

原文地址:https://www.cnblogs.com/whitewen/p/12055266.html

时间: 2024-08-30 07:23:44

Mint UI 之loadmore组件的坑:内部元素头部被遮挡了一部分的相关文章

vue mint ui 手册文档对于墙的恐惧

npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm i mint-ui -S CDN 目前可以通过 unpkg.com/mint-ui 获取到最新版本的资源,在页面上引入 js 和 css 文件即可开始使用. <!-- 引入样式 --><link rel="stylesheet" href="https://unpkg.com/mint-ui/lib/style.css"><!-- 引入

基于VUE.JS的移动端框架Mint UI

Mint UI GitHub:github.com/ElemeFE/mint 项目主页:mint-ui.github.io/# Demo:elemefe.github.io/mint- 文档:mint-ui.github.io/docs/# 由饿了么前端团队推出的 Mint UI 是一个基于 Vue.js 的移动端组件库.自 6 月初开源以来,根据社区和团队内部的反馈,修复了一些 bug 并新增了部分组件,于本周发布了 0.2.0 版本.本文介绍如何从零开始构建一个使用 Mint UI 的 Vu

cocos2d-js 3.0 rc2 自定义UI控件组件 例子:能播放动画的MenuItem。MenuItemSprite的bug

其实总体自定义UI组件都比较简单,尤其是cocos2d-js是开源的,如果有什么不明白的直接看js代码或者C++代码即可.当然js代码基本就够了. 另外,js的ctor函数虽然说是构造函数,但毕竟不是flash或者c++的构造函数,这只是一个普通函数,也就是说可以不在第一行默认调用,这就给扩展带来了不少方便. 现在想做一个声音按钮,点一下能关闭音乐,再点一下又能打开.当然就是MenuItemToggle了. 但想做得再炫一点,有声音的时候,按钮的样子能有几个音波的变化.那么就需要用MenuIte

vue2.0中使用mint ui做底部选项卡切换

首先在vue2.0中webpack中下载 mint ui 然后再main.js引入 这样就可以使用mint ui里面的布局组件了html部分(就是你要使用底部选项卡的部分) <!--底部选项卡--><mt-tab-container v-model="selected"> <mt-tab-container-item id="one"> one </mt-tab-container-item> <mt-tab-c

基于Mint UI开发VUE项目一之环境搭建和头部底部导航栏的实现

一:简介 Mint UI 包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要.通过它,可以快速构建出风格统一的页面,提升开发效率.真正意义上的按需加载组件.可以只加载声明过的组件及其样式文件,无需再纠结文件体积过大.考虑到移动端的性能门槛,Mint UI 采用 CSS3 处理各种动效,避免浏览器进行不必要的重绘和重排,从而使用户获得流畅顺滑的体验.依托 Vue.js 高效的组件化方案,Mint UI 做到了轻量化.即使全部引入,压缩后的文件体积也仅有 ~30kb (JS + CSS

iView webapp / Mint UI / MUI [前端UI]

前端UI iView webapp一套高质量的 微信小程序 UI 组件库 https://weapp.iviewui.com/?from=iview Mint UI 基于 Vue.js 的移动端组件库 http://mint-ui.github.io/#!/zh-cn MUI 最接近原生APP体验的高性能前端框架 http://dev.dcloud.net.cn/mui/ 原文地址:https://www.cnblogs.com/pengchenggang/p/10108891.html

mintui loadmore组件使用+代码优化

先上代码 // home.vue <template> <div> <mt-navbar v-model="selected" ref="navbar"> <mt-tab-item id="1">待处理</mt-tab-item> <mt-tab-item id="2">已完成</mt-tab-item> </mt-navbar>

免费的Android UI库及组件推荐

短短数年时间Android平台就已经形成了一个庞大而活跃的开发者社区.许多社区开发的项目业已进入成熟阶段,甚至可以用于商业的软件生产中,且不用担心质量问题. 本文编译自androiduipatterns,意在分享一些免费.开源的Android UI库及组件资源. 一.UI组件库 1. GreenDroid 该项目可以实现下列的UI设计: 动作栏(Action Bar) 快捷动作(Quick Action) 工作区(Workspace) 动态列表(Dynamic List) 以及许多更有用的组件.

Mint UI Example的运行

Mint -UI是新推出的移动端UI框架 官网 不过官网上的文档例子不是很全面. 建议下载他们提供的example来学习. 1.examplle源码下载地址 2.打开项目,我这里使用webstorm, 然后按提示安装npm install 依赖 3.运行npm run dev ,不过发现有报错" Missing radix parameter",点击连接查看原因以及解决办法 4.最后得到的是以下信息,表面打包有效. 但是,访问地址,要怎么在浏览器上访问呢? 要更改配置,如下: 即将 h