Получить индекс React-Native элемента SectionList - PullRequest
0 голосов
/ 29 сентября 2018

У меня проблемы с получением индекса элемента заголовка от SectionList React-Native.Нажав на заголовок, я пытаюсь получить индекс элемента, а затем передать его в функцию.Я перепробовал много вещей, но мне не повезло.Какие-либо предложения.Спасибо

enter image description here

Я хочу нажать 3-30 вечера, чтобы вернуть индекс 0 Я могу нажать Lucian, который возвращает меня 0 Идея состоит в том, чтобы получить мне индекс заголовка, я могу использовать с массивом, чтобы удалить элемент из списка.

            <SectionList style = {styles.itemSquare}

        renderItem = {({item, index, section}) =>
            < Text style={styles.SectionListItemStyle} key = {index}
            onPress={this.GetSectionListItem.bind(this, this.state.slotkeys[index])}> {item}
            < /Text>}

            renderSectionHeader = {({section: {title}, index}) => (
                  <TouchableHighlight >
                    <View>
                      <Text style={styles.SectionHeaderStyle}
                      onPress={this.GetSectionListItem.bind(this, index)}
                      > {title}
                      <Text style={styles.SectionHeaderCancel} > {index} < /Text>
                      </Text>
                    </View>
                  </TouchableHighlight>
                )
            }

          sections = {this.state.slots.map(({ time, chosen_user, name, chosen_syllabud, user_id }) =>
          ({ title: time, data: [[chosen_user], [chosen_syllabud], [user_id]], index:1 }))}

          keyExtractor = {(item, index) => item + index}
          />

1 Ответ

0 голосов
/ 29 сентября 2018

Объект renderSectionHeader не получает индекс в качестве аргумента при вызове, но вы можете исправить свойство раздела для правильной передачи индекса через карту:

  sections = {this.state.slots.map(({ time, chosen_user, name, chosen_syllabud, user_id }, index) =>
      ({ title: time, data: [[chosen_user], [chosen_syllabud], [user_id]], index }))}

, а затем в вашем renderSectionHeader вы можете получить доступ к индексувнутри раздела:

renderSectionHeader = {({section: {title, index}}) => (
              <TouchableHighlight >
                <View>
                  <Text style={styles.SectionHeaderStyle}
                  onPress={this.GetSectionListItem.bind(this, index)}
                  > {title}
                  <Text style={styles.SectionHeaderCancel} > {index} < /Text>
                  </Text>
                </View>
              </TouchableHighlight>
            )
        }
...