- 使用element-ui组件v-infinite-scroll出现了无限触发滚动事件,关键问题代码如下:
<template>
<div ref="ullist" :style="autoHeight" class="infinite-list-wrapper" style="overflow:auto">
<ul v-infinite-scroll="loadMore" infinite-scroll-disabled="busy">
<li v-for="(item,index) in list" :key="index" @click='details(item.id)'>{{item.title}}</li>
</ul>
</div>
</template>
<style scoped="scoped">
ul {
list-style: none;
padding: 0;
margin: 0;
}
li {
list-style: none;
padding: 0;
margin: 0;
padding: 2px;
width: 48%;
background-color: #f6f6f6;
font-size: 12px;
float: left;
}
</style>
- F12查看浏览器中html样式,发现ul的高度为0,v-infinite-scroll组件认为滚动到底部,导致无限触发滚动事件loadMore,原因是在li样式中使用了float:left,导致ul获取不到li高度,
- 问题解决:在ul样式中也添加float:left 这样ul就可以获取li的高度了