嵌套的 SectionList 不会在 android 上滚动
Nested SectionList does not scroll on android
我在动画底部 sheet 组件中有一个 SectionList,但当嵌套在 Android 上的此组件内部时它不会滚动。我怎样才能让它表现得像 iOS?
通过子节点将SectionList作为prop的父Bottomsheet:
return (
<GestureDetector gesture={gesture}>
<AnimatedView style={animatedStyle}>
<Line />
<Title>{title}</Title>
<>{children}</>
</AnimatedView>
</GestureDetector>
);
分区列表:
return (
<Container>
<SectionList
ref={ref => (sectionList.current = ref)}
ListFooterComponent={renderListFooter}
sections={sections}
renderItem={renderItem}
renderSectionHeader={renderSectionHeader}
renderSectionFooter={renderSectionFooter}
keyExtractor={keyExtractor}
stickySectionHeadersEnabled={false}
scrollEnabled={scrollEnabled}
nestedScrollEnabled
onScrollToIndexFailed={err =>
console.error('onScrollToIndexFailed ', err)
}
/>
</Container>
);
在 BottomSheet 内部呈现的 SectionList:
return (
<Wrapper>
<BottomSheet
title={t('title.settings', {ns: 'settings'})}
ref={bottomSheetRef}>
{renderSettings}
</BottomSheet>
</Wrapper>
);
我通过将 SectionList 更改为基于属性呈现的 FlatList 并遵循以下评论解决了这个问题:
我在动画底部 sheet 组件中有一个 SectionList,但当嵌套在 Android 上的此组件内部时它不会滚动。我怎样才能让它表现得像 iOS?
通过子节点将SectionList作为prop的父Bottomsheet:
return (
<GestureDetector gesture={gesture}>
<AnimatedView style={animatedStyle}>
<Line />
<Title>{title}</Title>
<>{children}</>
</AnimatedView>
</GestureDetector>
);
分区列表:
return (
<Container>
<SectionList
ref={ref => (sectionList.current = ref)}
ListFooterComponent={renderListFooter}
sections={sections}
renderItem={renderItem}
renderSectionHeader={renderSectionHeader}
renderSectionFooter={renderSectionFooter}
keyExtractor={keyExtractor}
stickySectionHeadersEnabled={false}
scrollEnabled={scrollEnabled}
nestedScrollEnabled
onScrollToIndexFailed={err =>
console.error('onScrollToIndexFailed ', err)
}
/>
</Container>
);
在 BottomSheet 内部呈现的 SectionList:
return (
<Wrapper>
<BottomSheet
title={t('title.settings', {ns: 'settings'})}
ref={bottomSheetRef}>
{renderSettings}
</BottomSheet>
</Wrapper>
);
我通过将 SectionList 更改为基于属性呈现的 FlatList 并遵循以下评论解决了这个问题: