vue和iview实现Scroll 数据无限滚动

在做项目的时候因为数据比较多,一次性全部渲染的话会花费较多的时间,所以,想到每一次渲染10条数据

也想过每一次获取十条数据然后显示就行了,就目前自己所知最好的方法是修改接口,一次返回10条,可是这样子太麻烦了,所以决定一次性请求所有数据,然后每次渲染十条,需要再上拉加载更多

使用的是iview中的组件Scroll

以下是获取数据和封装数据的方法:


原理是先定义两个全局的变量,一个存储全部的数据,一个存储渲染的数据

在首次获得数据的时候,往渲染的变量中存入全部数据的前十条:


然后在数据最底时上拉加载新的十条数据:


其中几个问题都解决了:

1. 当数据小于十条时,如何显示

2. 当数据渲染完成,不再渲染数据

3. Scroll的高度,因为是固定值,会在挂载后获取整个屏幕的高度,根据自己的需求,对中间的scroll的高度进行计算和设置

以上基本实现了整个功能,或许还有些问题没有发现,如果发现了新问题会添加进来


  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
实现vue-seamless-scroll的横向无限滚动,可以按照以下步骤进行操作: 1. 首先,需要在Vue项目中引入vue-seamless-scroll组件。可以使用全局组件引入的方式,在main.js或者入口文件中添加以下代码: ``` import scroll from 'vue-seamless-scroll' Vue.use(scroll) ``` 2. 其次,需要安装vue-seamless-scroll插件。在项目的根目录下运行以下命令安装vue-seamless-scroll插件: ``` npm install vue-seamless-scroll --save ``` 3. 接着,在需要使用横向无限滚动的组件中,可以设置滚动条的属性。可以在computed中设置属性,例如: ```javascript computed: { scrollOptions() { return { step: 1.0, // 数值越大速度滚动越快 hoverStop: true, // 是否开启鼠标悬停停止滚动 direction: 2, // 设置为2表示横向滚动 waitTime: 1000, // 单步运动停止的时间,默认值为1000ms openWatch: true, // 数据实时监控刷新DOM } }, }, ``` 4. 最后,在模板中使用vue-seamless-scroll组件,并将属性绑定到组件上,例如: ```html <scroll :options="scrollOptions"> <!-- 添加需要无限滚动的内容 --> <div>...</div> <div>...</div> <div>...</div> </scroll> ``` 通过以上步骤,你就可以实现vue-seamless-scroll的横向无限滚动效果了。记得根据你的实际需求调整属性的值以及添加需要滚动的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [使用vue-seamless-scroll实现无限滚动效果](https://blog.csdn.net/chenw9527/article/details/125947712)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值