使用vant的list组件时,触底后不加载更多的问题
- 在使用vant的list组件时,想实现组件的触底加载更多的效果,这时候,按照官网中的代码去使用时,并没有出现想要的效果。
- 常常会是load函数不被触发或触发多次。
- 这时候,通过了解load函数的触发机制,能够察觉到,列表的布局和高度,还有滚动条是重要因素,可以往这方面去探索。
官网中load事件的触发机制。 - 在编写样式的时候,就需要注意,使用“圣杯布局”等来布局页面,形成良好的规范。
-
- 当一直触发加载时,看看是否使用了float属性,使得list的位置无法被正确判断——使用flex布局。
-
- 当一直触发加载时,看看是否在html或body标签中使用了overflow-x: hidden属性,使得list的滚动无法被正确判断——使用height:100%。
-
- 当一直触发加载时,看看是否数据为铺满整屏——一般刚开始数据量是铺满可视区域的。
-
- load事件在list初始化时会触发一次——可以通过 immediate-check 属性关闭。
-
- 注意:滚动条是指list列表的滚动条,切勿与外部滚动条混淆。