解決了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}。
一看,還真全顯示出來了。自是喜不自勝,卻也不知緣由(心裏也懵逼)。
若路過的道友懂得,請指點正確的解決之道(沒看到官方說法,心裏感覺這種解決之法存在弊端)。