当前位置: 首页 > news >正文

网站开发培训培训班一套完整的运营方案

网站开发培训培训班,一套完整的运营方案,免费域名网站php,wordpress 教学培训目录 List 列表 Toast 轻提示 解决方案 1、不使用 Toast 的 加载提示 2、修改调整 pointer-event 属性值 3、判断是否为第一次加载再使用 背景 &#xff1a; 移动端项目 开发时&#xff0c;有数据长列表展示的场景需求&#xff0c;此时就用到了 Vant2 组件库里面的 <v…

目录

List 列表

Toast 轻提示

解决方案

1、不使用 Toast 的 加载提示

2、修改调整 pointer-event 属性值

3、判断是否为第一次加载再使用


背景 :

  移动端项目 开发时,有数据长列表展示的场景需求,此时就用到了

Vant2 组件库里面的 <van-list> 列表组件,开始单独使用的时候还没有

下拉加载数据时滚动条会莫名自动返回到顶部的问题,知道后面为了提升用户的体验,

后续开发就结合加上了 Toast 轻提示 组件,然后当时也并没有发现这个问题,

直到后续项目开发的差不多了,反复测试的过程中偶尔感受到了这里怎么这么奇怪,

为何下拉至底部加载新一页的数据时,滚动条又回到了顶部呢?开始并没有很在意,

以为本来就这样的,但经过百度一番后,才发现原来此处算是一个小 bug ,

而且现在回想感觉确实很影响用户体验了,所以接下来分享一下解决方案 : 

可以看到,往下滚动加载第二页数据的时候,滚动条会滚动到顶部。正常应该是滚动条位置不变

List 列表

瀑布流滚动加载,用于展示长列表,当列表即将滚动到底部时,

会触发事件并加载更多列表项。

Toast 轻提示

在页面中间弹出黑色半透明提示,用于消息通知、加载提示、操作结果提示等场景。

解决方案

1、不使用 Toast 的 加载提示

1-1、如果使用 异步加载数据 并使用了 Vant 中的 Toast 做加载中提示,

则有可能会导致列表滚动高度为 0 ,也就是回到了顶部。

只要在 list 加载回调里不使用 Toast 就可以避免这个问题。

1-2、因为每次 网络请求,使用了 Vant 的 Toast.loading 的加载中效果的 api,

如果去掉 Toast.loading 请求,则问题不会出现。


2、修改调整 pointer-event 属性值

主要原因是 Toast 组件在全局添加了 pointer-event: none
解决办法,在对应的 van-list 的属性值添加 pointer-event

( 未实际实验过此方法,所以不确保准确性,小伙伴们可自行判断使用 )


3、判断是否为第一次加载再使用

因为还想保留着初次进入列表页面时的 Toast 的 加载提示,

所以这里我们判断一下,是否为第一页(初次进入页面),

是的话则使用 Toast 的 加载提示。

项目实际使用 :

src / views / home / index.vue

<template><div><van-listv-if="dataList.length > 0"v-model="loading":finished="finished"finished-text="没有更多了"@load="onLoad"><p>{{ 'ItemName' }}</p><van-cell v-for="item in dataList" :key="item" :title="item" /></van-list><div v-if="dataList.length === 0"><img src="" alt="空" /><p>暂无数据</p></div></div>
</template><script>
import { getStatisticsData } from '@api/index';export default {data() {return {dataList: [], // 列表数据loading: false, // 加载显示与否finished: false, // 是否加载完毕formData: {surverId: '',currentPage: 1, // 当前页数},};},computed: {rqObj() {return this.$route.query || {};},},created() {if (this.rqObj.id && this.rqObj.id !== null) {this.formData.surveyId = this.rqObj.id;this.getDataList(this.formData);}},methods: {onLoad() {// 滚动到底部时触发this.formData.currentPage++;this.getDataList(this.formData);},async getDataList(data) {// 异步加载并使用Toast会导致列表滚动高度归零返回顶部// Toast.loading({//   message: '加载中...',//   forbidClick: true,//   duration: 0, // 持续展示 toast// });// 解决办法3:首次加载时使用提示,后续不再Toast提示if (this.formData.currentPage === 1) {Toast.loading({message: '加载中...',forbidClick: true,duration: 0, // 持续展示 toast});}// ==========================================let res = await getStatisticsData(data);const { code, result } = res;if (code === '0') {if (result.lists && result.lists.length > 0) {this.dataList = this.dataList.concat(result.lists);}// 加载状态结束this.loading = false;// 加载完成后需要将loading设置为false,以便下次触发加载Toast.clear()} else {// 没有更多数据了(需停止继续加载)this.loading = false;this.finished = true; // 数据全部加载完成(true)}},},
};
</script>
http://www.ds6.com.cn/news/48941.html

相关文章:

  • 小型网站开发教程一站式营销推广
  • 免费国外医疗静态网站模板下载seo优化快速排名
  • 做网站需要买什么四川二级站seo整站优化排名
  • 做catalog的免费网站徐州关键词优化平台
  • 网站链接跳转怎么做查网站
  • 域名备案查询网站备案信息查询宁波seo整体优化
  • 福建省建设注册执业管理中心网站他达拉非片
  • 沧州哪里做网站免费注册二级域名的网站
  • 中国石油天然气第六建设公司网站百度手机seo软件
  • 青岛 正规网站空间百度榜单
  • 怎样在网站上做友情链接网站页面seo
  • 沈阳网站建设哪家做得好啊制作公司网站
  • 门户网站建设经验总结报告吸引人的微信软文范例
  • 黄冈做网站的公司今日军事新闻头条
  • 服装设计师seo销售是做什么的
  • icp备案网站接入信息 ip地址段上海快速排名优化
  • 做彩票网站都是怎么拉人的长沙seo网站
  • 庄河做网站百度网盘资源
  • 年会策划方案唐山seo排名
  • 南京做网站建设有哪些内容长沙seo优化推荐
  • 国外网站注册软件个人网页在线制作
  • 做一名网站编辑要具备什么资格搜索网站有哪些
  • sdcms网站源码太原全网推广
  • 做企业竞争模拟的网站ai智能营销系统
  • 重庆大坪网站建设品牌推广软文
  • 青岛b2b网站建设北京网络seo推广公司
  • 专门做cos的网站广告投放公司
  • 领券购买网站是怎么做的扫描图片找原图
  • wordpress手机网站怎么做西安seo优化推广
  • 新网站外链怎么做推广网站的文案