【样式问题】 - React Native中使用 react-native-scrollable-tab-view嵌套在ScrollView里,不显示子内容

1,810 阅读1分钟

目录:

  1. 版本说明
  2. 问题
  3. 问题分析
  4. 解决办法

一、版本说明

本机系统: Mac
react: "16.11.0"
react-native: "0.62.2"
node: 12.16.2       # node -v
npm: 6.14.4         # npm -v

二、问题描述如下

2.1、React Native 中使用 react-native-scrollable-tab-view 嵌套在 ScrollView 里,不显示子内容,即只有 tab 标题栏,没有对应的子内容区域

使用的原因:因为需要 tab 切换啊

三、原因分析:因为当前代码如下,ScrollView 标签包含着 ScrollableTabView 标签

3.1、主要内容如下

<ScrollView
    style={styles.cont_right_scroll_cont}
    showsHorizontalScrollIndicator={false}
    >
        <ScrollableTabView
            style={{ marginTop: 20 }}
            initialPage={0}
            renderTabBar={() => <ScrollableTabBar />}
            onChangeTab={(obj) => console.warn(Object.keys(obj),obj.i)}
            initialPage={0}
        >
            <Text tabLabel='Tab #1' style={styles.scroll_text_cont}>My</Text>
            <Text tabLabel='Tab #2 word word'>favorite</Text>
            <Text tabLabel='Tab #3 word word word'>project</Text>
            <Text tabLabel='Tab #4 word word word word'>favorite</Text>
            <Text tabLabel='Tab #5'>project</Text>
        </ScrollableTabView>
         
</ScrollView>

四、解决办法:去掉外部的 <ScrollView> 标签,就可以了喔✌️

# 修改后的主要内容
<ScrollableTabView
    style={{ marginTop: 20 }}
    initialPage={0}
    renderTabBar={() => <ScrollableTabBar />}
    onChangeTab={(obj) => console.warn(Object.keys(obj),obj.i)}
    initialPage={0}
    >
        <Text tabLabel='Tab #1' style={styles.scroll_text_cont}>My</Text>
        <Text tabLabel='Tab #2 word word'>favorite</Text>
        <Text tabLabel='Tab #3 word word word'>project</Text>
        <Text tabLabel='Tab #4 word word word word'>favorite</Text>
        <Text tabLabel='Tab #5'>project</Text>
</ScrollableTabView>

写给自己的随笔,有问题欢迎指出