Skip to content

liaokaime/react-native-ceiling

Repository files navigation

react-native-ceiling

安装

$ npm install react-native-ceiling --save

Usage

image

import {Ceiling,Radio} from 'react-native-ceiling';

<Ceiling
    ListHeaderComponent={
      <View style={styles.header}>
        <Text>首部内容</Text>
      </View>
    }
    TabsClass={
      // 该Class实例化的Element,需支持必要props项: onSwitch函数,调用即可切换为相应下标的待切换页面
      class extends Component<{
        onSwitch: (page: number) => void
      }> {
        render() {
          return (
              <View style={styles.tabs}>
                <Radio
                    data={["普通内容A","列表B","列表C"]}
                    initSelectIndex={0}
                    renderSelectedItem={item => <Text style={styles.tabSelected}>{item}</Text>}
                    renderUnSelectItem={item => <Text style={styles.tabUnselect}>{item}</Text>}
                    onSelect={(item, index) => {
                      this.props.onSwitch(index);
                    }}
                    extractKey={item => item}
                />
              </View>
          );
        }
      }
    }
    views={[

      <View style={styles.normalContentC}>
        <Text>普通内容A</Text>
      </View>
      ,
      <FlatList
          listKey={"list1"}
          data={
            Array(100).fill().map((value, index) => `列表B - 第${index+1}行`)
          }
          renderItem={({item}) => <Text>{item}</Text>}
          keyExtractor={item => item}
      />
      ,
      <FlatList
          listKey={"list2"}
          data={
            Array(150).fill().map((value, index) => `列表C - 第${index+1}行`)
          }
          renderItem={({item}) => <Text>{item}</Text>}
          keyExtractor={item => item}
      />
    ]}
>
</Ceiling>

组件文档

Ceiling

参数 类型 必要 作用
ListHeaderComponent JSX.Element 首部内容组件
TabsClass Component<{ onSwitch : (page:number)=>void }> Tab栏组件类
views JSX.Element[] onSwitch的page即该数组的下标

Radio

参数 类型 必要 作用
data T[] 选项数据
renderSelectedItem JSX.Element 选中展示
renderUnSelectItem JSX.Element 未选中展示
initSelectIndex number 默认选择下标
onSelect (item: T, index: number) => void 选中回调
extractKey (item: T) => string 提取key值

License

The files included in this repository are licensed under the MIT license.

About

一个具有吸顶效果、tab可切换的纯RN组件

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published