плоский список с липкими заголовками - PullRequest
0 голосов
/ 07 мая 2020

Я создаю список в виде плоского списка и пытаюсь создать несколько липких заголовков. Но пока он показывает весь блок как липкий.

Это код, который я использую:

renderRow({item, index}) {
    let items = [];
    if( item.subitems) {
        items = item.subitems.map(row => {
            return (
                <View style={styles.wrapper}>
                    <View style={styles.blocks}>
                        <Text>{row.time}</Text>
                    </View>
                    <View style={styles.blocks}>
                        <Text>{row.person1}</Text>
                    </View>
                    <View style={styles.blocks}>
                        <Text>{row.person2}</Text>
                    </View>
                </View>
            )
        })
    }
    return (
        <View>
            <ListItem itemDivider>
                <Text style={{ fontWeight: "bold", textTransform: 'capitalize' }}>
                    {item.date}
                </Text>
            </ListItem>
            {items}
        </View>
    )
}
render() {
    return (
        <OptimizedFlatList
            ref={(c) => this.list = c}
            data={this.state.dataSource}
            renderItem={this.renderRow.bind(this)}
            keyExtractor={(item, index) => index}
            removeClippedSubviews={Platform.OS === 'ios' ? false : true}
            stickyHeaderIndices={[0]}
        />
    )
}

Массив, который я использую, выглядит так:

[{
    date: 'Tuesday May 12, 
    header: true,
    subitems: [{
        0: {
           time: '',
           person1: 'Person 1',
           person2: 'Person 2'
        }
        1: {
           time: '00:00 till 01:00',
           person1: 'Name 1',
           person2: 'Name 2'
        }
        2: {
           time: '01:00 till 02:00',
           person1: 'Another Name 1',
           person2: 'Another Name 2'
        }
    }]
}]

Итак, если я использую: stickyHeaderIndices={[0]}, он устанавливает липкость всей строки, но должен устанавливать только часть даты как липкую (у меня несколько дат, поэтому все они должны быть липкими). ​​

Я знаю, что это необходимо в renderRow также отображает подэлементы, но я не знаю, как это исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...