解决了antd-mobile中的listview加载数据不全问题。
在listview中添加一个属性:
initialListSize={0}//为0才能完全显示数据
完整的listview:
<ListView
ref={el => this.lv = el}
dataSource={this.state.dataSource}
renderRow={this.renderRow}
renderSeparator={this.renderSeparator}
pageSize={5}
initialListSize={0}//为0才能完全显示数据
useBodyScroll
scrollRenderAheadDistance={500}/>
后话:
在官网中,initialListSize的说明是:指定在组件刚挂载的时候渲染多少行数据,用这个属性来确保首屏显示合适数量的数据。类型是:number;无默认值。
本人一开始展示数据都是全的,测试也没问题。后来几个测试就接连发现了显示的数据少了。
有几个是只展示10个的,但有人却展示18个数据,这个到底是哪里出了问题,百思不得其解。
后来了解到initialListSize这个属性,有人说这个属性默认值是10,所以只展示10个数据。
但是20个数据要怎么才能显示完全呢?没说。
我想过写initialListSize={1000},起码确保可以展示一千个数据,一千多个数据谁会一直往下刷?
也不知怎么回事,突然福至心灵就写了initialListSize={0}。
一看,还真全显示出来了。自是喜不自胜,却也不知缘由(心里也懵逼)。
若路过的道友懂得,请指点正确的解决之道(没看到官方说法,心里感觉这种解决之法存在弊端)。