将 flex:1 添加到 contentContainerStyle 时,ScrollView 与内容一起消失

Chr*_*ard 5 react-native

当我添加固定高度样式时,它可以工作并且内容在那里,但是当我将它设置为 flex:1 (正确的方式)时,滚动视图与内容一起消失。

我的代码:

<ScrollView contentContainerStyle={{flex:1}} showsVerticalScrollIndicator={false}>
          <View style={{padding: 5}}>
            <Text>search</Text>
          </View>
          <View style={{padding: 5}}>
            <Text>New Matches</Text>
            <ScrollView contentContainerStyle={{flex:1}} horizontal={true} showsHorizontalScrollIndicator={false}>
              <View style={{padding: 10}}>
                <Thumbnail medium circle source={require('../assets/placeholders/profile1.jpg')}/>
                <Text>Christian</Text>
              </View>
              <Text>works</Text>
              <Text>works</Text>
              <Text>works</Text>
              <Text>works</Text>
              <Text>works</Text>
            </ScrollView> 
Run Code Online (Sandbox Code Playgroud)

另外,如您所见,我有两个滚动视图。我指的是最外面的(垂直滚动视图)。

Ham*_*mid 7

将您的外部 ScrollView 包装到具有flex:1样式的 View 组件。

<View style={{flex: 1}>
  <ScrollView contentContainerStyle={{flex:1}} showsVerticalScrollIndicator={false}>
...
  </ScrollView>
</View>
Run Code Online (Sandbox Code Playgroud)

  • 总体思路是为包含滚动视图的容器提供足够的高度(我称之为“滚动容器”。)(这也意味着为“滚动容器”的父容器提供足够的高度)。因为子级的高度受限于父级的高度,所以如果你在 `scroll-container` 上指定 `flex:1`,如果父级没有足够的空间,它也会消失。 (2认同)