在页面中经常会用到滚动,下拉刷新,下拉加载等功能,vux的scroller可以使用,但是它不再维护,而且要配合load-more组件一起使用。所以一般在项目中我都是用vue-scroller.

vue-scroller文档

1.在项目中安装:

npm i vue-scroller -S

2.在main.js中引用

import VueScroller from 'vue-scroller'
Vue.use(VueScroller)

3.在需要用到滚动的地方直接使用

<scroller>里面是滚动元素<scroller>

4.使用技巧

(1)一般来说,我们都是在一个列表中使用这个滚动,经过实践,在使用scroller时,最好的布局方法是以下这种,一个外部的容器元素,将滚动标签和滚动内容包裹起来,然后这个外层元素进行定位,要是有头部标签需要留出header的高度,并且滚动容器的高度要减小,不然会出现滚动条,在手机上导致滚动到底部看不到头部的情况,在scroller里面再加一层容器的原因是一般scroller里面只有一个元素性能会比较好,滚动也比较流畅,不然可能会有滚动卡顿,上拉回弹等问题。

<div class="scrollerWrap">
<scroller height="100%" :on-refresh="refresh" :on-infinite="infinite" ref="scrollerBottom">
<main class="scrollerContent">
<div v-for="item in list">{{item}}</div>
</main>
</scroller>
</div>
 .scrollerWrap{
position:absolute;
width:100%;
height:90%;//有header的时候可能会出现滚动条,所以最好高度是除去header的高度
top:40px;//一般页面有header的时候需要留出header的高度
bottom:20px;
main{
height:100%;
}
}

(2)scroller提供的属性(常用):

onRefresh:下拉刷新

refresh(done){//下拉刷新
//your code
},

onInfinite:上拉加载

infinite(done){//上拉加载
if(this.isBottom){//当没有更多数据的时候结束加载
this.loadingTips ="无更多数据"
setTimeout(()=>{
done&&done(true);
},1000);
}else{//有更多数据时进行数据分页显示
setTimeout(() => {
this.page++;
this.getDataList(this.page);
this.$nextTick(() => {
this.$refs.scrollerBottom.reset()
})
},1500)
}
},

refreshText: 下拉刷新的提示文字

noDataText: 上拉加载没有数据的提示文字

(3)scroller提供的方法(常用):

getPosition(): 得到滚动区域当前的位置

scrollTo(): 滚动到页面的某一个位置

scrollBy();滚动到内容的相对位置

vue-scroller 滑动组件使用指南的更多相关文章

  1. Vue 2.0 组件库总结

    UI组件 element - 饿了么出品的Vue2的web UI工具套件 Vux - 基于Vue和WeUI的组件库 mint-ui - Vue 2的移动UI元素 iview - 基于 Vuejs 的开 ...

  2. VUE常用UI组件插件及框架

    UI组件及框架 element - 饿了么出品的Vue2的web UI工具套件 mint-ui - Vue 2的移动UI元素 iview - 基于 Vuejs 的开源 UI 组件库 Keen-UI - ...

  3. 一个 Vue 的滑动按钮组件

    git 地址:https://github.com/SyMind/vue-sliding-button vue-better-slider 一个 Vue 的滑动按钮组件,有关滑动方面的处理借鉴 bet ...

  4. 基于vue项目的组件中导入mui框架初始化滑动等效果时需移除严格模式的问题

    基于vue项目的组件中导入mui框架初始化滑动等效果时,控制台报错:Uncaught TypeError: 'caller', 'callee', and 'arguments' properties ...

  5. Vue Scroller:Vue 下拉刷新及无限加载组件

    Vue Scroller Vue Scroller is a foundational component ofVonic UI. In purpose of smooth scrolling, pu ...

  6. 《Vue.js 2.x实践指南》 已出版

    <Vue.js 2.x实践指南>其实在一年前就已经完稿了,只是由于疫情的缘故耽搁了很久才下厂印刷.阅读本书需要具备HTML.CSS和JS基础,本书针对的用户群体主要是:想要快速学习vue技 ...

  7. Vue 给子组件传递参数

    Vue 给子组件传递参数 首先看个例子吧 原文 html <div class="container" id="app"> <div clas ...

  8. Vue.js说说组件

    什么是组件:组件是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能.在有些情况下,组件也可以是原生HTM ...

  9. Vue.js多重组件嵌套

    Vue.js多重组件嵌套 Vue.js中提供了非常棒的组件化思想,组件提高了代码的复用性.今天我们来实现一个形如 <app> <app-header></app-head ...

随机推荐

  1. Java ArrayList几种遍历方法

    import java.util.ArrayList; import java.util.Iterator; public class StringSampleDemo { public static ...

  2. T-MAX--冲刺合集

    目录 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 照片 各组员对于最终项目成果的贡献度 这个作业属于哪个课程 2019秋福大软件工程实践Z班 (福州大学) ...

  3. BDD本质及与ATDD区别

    说起BDD,你会想到什么?   在刚接触BDD(Behavior Driven Development,行为驱动开发)的时候,我以为就是用Cucumber这样的工具来编写场景用例,从而实现自动化测试, ...

  4. mac 修改mysql root密码

    01-在系统偏好设置中停止mysql服务 或者使用指令 sudo /usr/local/mysql/support-files/mysql.server stop 02-输入指令: cd /usr/l ...

  5. 用样式表美化QTabwidget外观

    没有仔细看是否正确,先保存到这里,以后研究一下 一.参考文章:http://bbs.csdn.net/topics/390632657?page=1 setStyleSheet("QTabW ...

  6. Ubuntu 1604 安装配置 kafka,并配置开机自启(systemctl)

    安装 kafka 需要先安装 jdk.一.下载官网:http://kafka.apache.org/downloads.html 二.安装 安装参考:https://segmentfault.com/ ...

  7. python : takes 0 positional arguments but 1 was given

    def 的要加self, https://blog.csdn.net/u010269790/article/details/78834410

  8. PostgreSQL中的 时间格式转化常识

    下面的SQL文查询结果是 "2018-08-20 10:09:10.815125",并且返回类型可以当String处理.返回json等都方便使用. SQL> SELECT t ...

  9. Tomcat中用JNDI方式加载JDBC DataSource以连接数据库

    概括一下,大致分为四步:安装驱动,填充context.xml,填充web.xml,编写程序取得连接.通过一个小DEMO对这种配置方式有了一点了解,以tomcat6.0连接mysql5.0.8数据库为例 ...

  10. flutter 页面布局 Paddiing Row Column Expanded 组件

    Flutter Paddiing 组件 在 html 中常见的布局标签都有 padding 属性,但是 Flutter 中很多 Widget 是没有 padding 属 性.这个时候我们可以用 Pad ...