vue element 针对某个div进行加载提示

本文介绍了一个使用加载遮罩层的方法,通过在页面指定元素上显示加载提示,提升用户体验。该方法利用JavaScript定时器模拟加载过程,并在加载完成后关闭遮罩层。
getList() {
        let that = this
        //打卡加载遮罩层
        const loading = this.$loading({
          lock: true,
          text: '拼命加载中,请稍后...',
          spinner: 'el-icon-loading',
          background: 'rgba(0, 0, 0, 0.5)',
          target: document.querySelector('.box')
        });
        //模拟 
        setTimeOut(function(){
		 loading.close(); //关闭加载遮罩层
		},100)
       
      },
### 实现 Vue Element UI 表格下拉加载更多数据 为了实现在 Vue 中使用 Element UI 组件库创建具有下拉加载更多功能的数据表格,可以采用分页逻辑结合滚动事件监听的方式。具体来说: 通过 `el-table` 组件展示初始部分数据,并设置一个标志位用于判断是否还有更多数据可加载[^4]。 ```javascript data() { return { tableData: [], // 存储显示的数据列表 loading: false, // 控制加载状态 hasMore: true, // 是否存在更多数据待加载 page: 1, // 当前请求的页码 pageSize: 20 // 每次加载的数量 }; } ``` 在页面初始化时调用接口获取首批数据显示于表格内;同时为窗口对象添加滚动事件监听器,当检测到接近底部时触发新的异步请求增加新一批记录至现有集合中并更新视图。 ```html <template> <div style="height: calc(100vh - 160px);" @scroll="handleScroll"> <!-- 数据表格 --> <el-table :data="tableData" height="calc(100% - 50px)"> ... </el-table> <!-- 加载提示符 --> <p v-if="loading">正在加载...</p> </div> </template> ``` 对于滚动事件处理函数而言,需先确认当前并非处于加载状态下才继续执行后续操作,防止重复提交查询请求造成不必要的资源浪费。此外还需注意边界条件——即已无剩余未读取项可供追加,则应移除相应侦听机制以免影响用户体验。 ```javascript methods: { handleScroll(event) { const scrollTop = event.target.scrollTop; const clientHeight = event.target.clientHeight; const scrollHeight = event.target.scrollHeight; if (scrollTop + clientHeight >= scrollHeight && !this.loading && this.hasMore) { this.loadMore(); } }, async loadMore() { try { this.loading = true; // 开始加载 let response = await fetch(`/api/data?page=${this.page}&size=${this.pageSize}`); let result = await response.json(); if(result.length === 0){ this.hasMore = false; // 如果返回为空则表示已经全部加载完毕 }else{ this.tableData.push(...result); this.page++; } } catch(error) { console.error('Error fetching more data:', error); } finally { this.loading = false; // 结束加载 } } } ``` 上述代码片段展示了如何利用 JavaScript 原生特性配合 Vue 及其生态工具链完成动态增量渲染效果,从而达到优化性能的目的。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值