Flatlist ScrollToItem со ссылкой на идентификатор элемента

поэтому мои вызовы API будут возвращать каждый идентификатор элемента, который должен отображать плоский список. Как я могу установить начальный scrollToItem со ссылкой на идентификатор элемента, который я получил от своих вызовов API? Прямо сейчас я могу прокрутить только до индекса плоского списка, но не могу прокрутить до точного элемента, вызвав его свойства.

<FlatList
    data={this.state.dataSource}
    renderItem={
    ({item}) => (
        <VoucherList item={item} navigation={this.props.navigate} />
        )
    }
    keyExtractor={item => item.id}
    refreshing={this.state.refreshing}
    onRefresh={this.handleRefresh}
    initialScrollIndex={2}
    getItemLayout={this.getItemLayout}
  />

Выше приведен мой код прямо сейчас, где я установил начальный индекс прокрутки 2. Я хочу прокрутить до реквизита, например, если элемент имеет идентификатор 2, я хотел бы сослаться на него с идентификатором.

Будем признательны за любую помощь или, возможно, пример кода.


person Kevin Gozali    schedule 21.11.2017    source источник


Ответы (1)


FlatList нет того, что вам нужно. Но вы можете обойти это, предоставив initialScrollIndex как функцию, которая возвращает индекс, необходимый FlatList. Это действительно зависит от того, что содержит ваш источник данных. Вам потребуются данные перед установкой FlatList, так как initialScrollIndex будет обработано как можно скорее.

person Valery    schedule 21.03.2018