解决 element-ui el-table表格组件先显示暂无数据 之后再加载数据的问题
解决办法:动态定义tablelist为空时候展示的内容,没有请求到数据之前显示为空,请求到数据但是数据本身就是空的再显示"暂无数据"项目中的表头和内容都是动态请求生成的,延时更久就会出现先闪一下(比闪一下更久)暂无数据,再显示正常界面的问题,用户体验会比较差。本文链接:https://blog.csdn.net/a1059526327/article/details/110374558。empty
技术标签: Vue element-ui
项目中的表头和内容都是动态请求生成的,延时更久就会出现先闪一下(比闪一下更久)暂无数据,再显示正常界面的问题,用户体验会比较差。
解决办法:动态定义tablelist为空时候展示的内容,没有请求到数据之前显示为空,请求到数据但是数据本身就是空的再显示"暂无数据"
empty-text为table组件空数据时显示的文本内容,也可以通过slot="empty"设置
Table组件:
<!--增加内容-->
<template slot="empty">
<p>{{tableText}}</p>
</template>
<el-table-column v-if="showSelect" type="selection" width="55"></el-table-column>
data中初始定义tableText为空:
data() {
return {
tableText: "" //进去页面先让字样为空
};
},
发请求之后,若得到的tablelist真为懂再显示“暂无数据”:
getList() {
this.tableText = " "; //先置空
getApportRecpList({params).then((res:any) => {
this.headGroups = headGroupsTemp;
this.list = res.data.dataList;
if (this.list.length === 0) {
this.tableText = "暂无数据";
}
});
}
版权声明:本文为a1059526327原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/a1059526327/article/details/110374558
更新方法:
用异步请求async、await
,需配合loading
export default {
data() {
return {
totalPage: 0,
dataListLoading: false,
dataList: [],
}
},
async created() {
this.getDataList()
},
methods: {
// 获取数据
getDataList() {
this.dataListLoading = true;
clazzOrderBy(this.searchForm).then(response => {
this.dataList = response.data.data.records;
this.totalPage = response.data.data.total;
this.dataListLoading = false;
}).catch(() => {
this.dataListLoading = false;
})
},
}
}
<el-table
:data="dataList" border v-loading="dataListLoading" height="350" stripe element-loading-text="数据加载中,请耐心等待...">
<el-table-column prop="specialtyCount" header-align="left" align="left" label="班级名称/编号" width="300" fixed="left">
<template slot-scope="{ row }">
<span>{{row.name}}</span>
</template>
</el-table-column>
</el-form>

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)