ReactNative ListView 坑

項目背景

項目中有個需求需要刪除一個Listview的item,但是有問題。是這樣的,我有10條數(shù)據(jù),屏幕只能顯示5條,所以我滑動到最后一條,選擇刪除,然后刷新state,但是刪除的那個item沒了,留出來一塊空白,沒有其他數(shù)據(jù)補位的,用手一觸碰屏幕,整個listview都會一閃爍,布局又排正好了。
js代碼

          <ListView
            ref="_listView"
            dataSource={this.state.dataSource}
            renderRow={this.renderItemView.bind(this)}
            refreshControl={
                <RefreshControl
                    refreshing={this.state.isRefreshing}
                    onRefresh={this.onRefresh.bind(this)}
                    tintColor="#ff0000"
                    title="Loading..."
                    titleColor="#00ff00"
                    colors={['#ff0000', '#00ff00', '#0000ff']}
                    progressBackgroundColor="#ffffff"
                />}

        />

心想著如果不能正確顯示,起碼在刪除后把整個列表滾動到最后邊也行,所以搜索了一下Listview的Api,有一個scrollTo()的方法,于是就抱著試試看的態(tài)度

 this.refs._listView.scrollTo({x: 0, y: 0, animated: true});

意想不到的事情發(fā)生了,列表沒有滑動到最上邊,但是沒有空白的view了,上邊的會自動填充到下邊了。于是我把這行復(fù)制了一次,調(diào)用了兩次這個方法

 this.refs._listView.scrollTo({x: 0, y: 0, animated: true});
 this.refs._listView.scrollTo({x: 0, y: 0, animated: true});

列表滑動到最上邊了!

謹記這次的開發(fā)教訓(xùn),畢竟React-native現(xiàn)在還不成熟。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,058評論 25 709
  • 原來媽媽也愛美 媽媽的生日就要到了,給她買什么禮物好呢?雞鴨魚肉家里滿滿一冰箱,父親打電話說吃的啥都不用買。生日蛋...
    5780933168ec閱讀 744評論 3 6
  • 去年的今天,在個舊加級寨看梨花,今早 突然醒悟感念:如此巧合。16年的3月1日 和17年的3月1日都在休息。于是,...
    喜貝貝閱讀 494評論 44 17
  • 在使用cocoapods托管代碼的時候的點滴記錄 1. 因為 github 的私有庫是付費的,所以使用碼云的私有倉...
    Kean_Qi閱讀 298評論 0 0

友情鏈接更多精彩內(nèi)容